我想每天 9:30 启动 cron 作业,然后每 5 分钟运行一次,然后在 16:30 停止。这种调度可以在一个 cron 作业中实现吗,还是需要两个 cron 作业?
答案1
我认为是这样的:
30/5 9-16 * * * /usr/bin/script_to_run.sh
查看维基页面有关计时语法的详细信息。我建议使用脚本进行测试,该脚本将其运行时间记录到文件中。
#!/bin/bash
echo "Cron ran at: " `date` >> /var/log/crontimetest.log
答案2
您需要三个 crontab 条目:
30-55/5 9 * * * /usr/bin/script-to-run.sh
*/5 10-15 * * * /usr/bin/script-to-run.sh
0-30/5 16 * * * /usr/bin/script-to-run.sh
请不要因为 crontab 条目的奇怪和无用的语法而责怪 linux、bsd 或我。这是由 AT&T 贝尔实验室发明的,后来作为 POSIX 的一部分标准化。
答案3
我认为你需要做三件事:
*/5 10-15 * * * yourjob
0,5,10,15,20,25,30 16 * * * yourjob
30,35,40,45,50,55 9 * * * yourjob