【发布时间】:2016-02-07 02:57:24
【问题描述】:
我需要设置一个 cronjob 以每 5 分钟运行一次 bash 脚本,从上午 9:30 开始到下午 4:00。
我有以下,但不太正确...
定时任务:
*/5 9-16 * * * /path/to/directory/job.sh > /path/to/log/file/job.log 2>&1
【问题讨论】:
我需要设置一个 cronjob 以每 5 分钟运行一次 bash 脚本,从上午 9:30 开始到下午 4:00。
我有以下,但不太正确...
定时任务:
*/5 9-16 * * * /path/to/directory/job.sh > /path/to/log/file/job.log 2>&1
【问题讨论】:
Cron 没有直接表达它的语法,因此您需要 3 行单独的行:一行用于 9:30-9:55,一行用于 10:00-15:55,一行用于 16:00 .
我认为这是正确的:
30-55/5 9 * * * <command>
*/5 10-15 * * * <command>
0 16 * * * <command>
【讨论】:
您所拥有的是,在09:00 和16:55 之间每五分钟运行一次命令(此处包含所有范围)。
您想要实现的目标可以通过三个独立 crontab 行相对简单地完成:
30-59/5 9 * * * /path/to/directory/job.sh > /path/to/log/file/job.log 2>&1
*/5 10-15 * * * /path/to/directory/job.sh > /path/to/log/file/job.log 2>&1
0 16 * * * /path/to/directory/job.sh > /path/to/log/file/job.log 2>&1
第一个处理09:30 和09:55 之间的案例,第二个在10:00 和15:55 之间每五分钟处理一次,最后一个处理16:00 的单个工作。
【讨论】: