81

我想让脚本每 5 分钟运行一次,假设从 13:02 开始,这样我可以每 5 分钟运行另一个脚本,但从 13:04 开始,所以第二个脚本在第一个作业开始后两分钟运行。我怎样才能做到这一点?

4

4 回答 4

150

语法 1

*/5+2 * * * * 1st-script
*/5+4 * * * * 2nd-script

为了将来参考,请查看这个在线Cron Job Generator

语法 2

由于有几份报告称该+语法在 Ubuntu 14.04 上不起作用,因此这里有一个变体:

2-59/5 * * * * 1st-script
4-59/5 * * * * 2nd-script

这将导致第一个脚本每 5 分钟运行一次,从每小时开始时偏移 2 分钟开始,而第二个脚本的行为相同,偏移量为 4 分钟。

于 2013-04-18T23:11:32.217 回答
15

或者

*/5 * * * * sleep 120; ( first_script.sh & ) ; sleep 120 ; second_script.sh

这种方法的好处是您可以让 crontab 在分钟边界以外的时间(例如一小时后 30 秒)开始执行任务

于 2013-04-18T23:20:42.470 回答
6
*/5+1 * * * * first_script.sh

每五分钟运行一次,但偏移一分钟

于 2013-04-18T23:11:49.020 回答
3

我需要类似的东西 - 从一小时的第三分钟开始每 5 分钟执行一次脚本。我对上述解决方案表示怀疑(因为网站 crontab.guru 让我相信语法无效),所以我的同事告诉我直接像这样指定分钟数:

3,8,13,18,23,28,33,38,43,48,53,58 * * * *

它的具体会议记录清单。

于 2019-11-11T10:03:09.197 回答