📅  最后修改于: 2023-12-03 15:07:58.025000             🧑  作者: Mango
crontab 是一个在 Unix 和类 Unix 系统上用来设置定时任务的工具,通过它,我们可以在指定的时间执行一些特定的命令或脚本。
在 Linux 系统中,可以使用 "crontab -e" 命令来编辑一个用户的 crontab 文件。其中,每一行都是一个任务,由五个空格隔开的字段组成,这些字段分别代表了分钟、小时、日、月、周几的时间设置,然后是要运行的命令或脚本。
示例如下:
# 每小时的第 15 分钟执行一次 /path/to/script.sh
15 * * * * /path/to/script.sh
# 每天凌晨 1 点执行 /path/to/clean.sh
0 1 * * * /path/to/clean.sh
# 每周六的中午 12 点执行 /path/to/backup.sh
0 12 * * 6 /path/to/backup.sh
为了让一个任务在几个小时之间每 30 分钟执行一次,我们可以使用 */30 ,这表示每隔 30 分钟执行一次。同时,我们需要指定一个该任务可能运行的时间范围,比如说在早上 7 点到晚上 10 点之间。
示例如下:
# 在早上 7 点到晚上 10 点之间,每 30 分钟执行一次 /path/to/script.sh
*/30 7-22 * * * /path/to/script.sh
可以使用 "crontab -l" 命令来查看当前用户的 crontab 文件,其中包含了所有已经设置的任务。如果我们想验证某个任务是否生效,可以在命令或脚本中添加一些日志信息,这样就可以看到该任务是否在期望的时间执行了。
示例如下:
# 在 /path/to/script.sh 中添加日志信息
#!/bin/bash
echo "This is a log message." >> /path/to/log_file.txt
# 在 crontab 文件中设置该任务
*/30 7-22 * * * /path/to/script.sh