从0分钟以外的时间开始,如何每5分钟执行一次cron作业?


71

我想让脚本每5分钟运行一次,比如说从13:02开始运行,因此我可以让每5分钟运行另一个脚本,但是从13:04开始运行,因此第二个脚本在第一个工作开始后两分钟运行。我该如何实现?

Answers:


133

用这个:

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

为了将来参考,请访问此在线Cron Job Generator

更新资料

由于有许多报道表明该+语法在Ubuntu 14.04上不起作用,因此有一个变化:

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

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


2
@xtian,请看一下我添加的替代解决方案,让我知道它是否按预期工作。
Rolando Isidoro 2015年

3
我的cPanel(版本11.52)似乎不接受这些语法。我已经用1,6,11,16,21,26,31,36,41,46,51,56 * * * * php解决了
the_nuts 2016年

3
Ubuntu 16.04中的相同问题。原始答案无效,但更新的版本有效
克里斯(Chris)

2
RHEL 6.10中的cron不喜欢*/5+2任何一个,但是2-59/5像冠军一样工作。
罗恩

1
2-59/5Firebase预定功能也需要使用的更新版本。tnx
Stefano

14

要么

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

这种方法的好处是,您可以让crontab在不同于分钟界限的其他时间开始计时(例如,小时后30秒)


6
*/5+1 * * * * first_script.sh

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


2

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

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

具体的会议清单。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.