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

Raz*_*ead 61 unix cron

我希望每隔5分钟运行一个脚本,让我们说从13:02开始,所以我可以每隔5分钟运行另一个脚本,但是从13:04开始,所以第二个脚本在第一个作业开始后两分钟运行.我怎样才能做到这一点?

Rol*_*oro 112

用这个:

*/5+2 * * * * 1st-script
*/5+4 * * * * 2nd-script
Run Code Online (Sandbox Code Playgroud)

如需将来参考,请查看此在线Cron作业生成器.

更新

由于有几个报告说+语法不适用于Ubuntu 14.04,这里有一个变体:

2-59/5 * * * * 1st-script
4-59/5 * * * * 2nd-script
Run Code Online (Sandbox Code Playgroud)

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

  • Ubuntu 16.04中的相同问题.原始答案不起作用,但更新版本确实有效 (3认同)
  • RHEL 6.10 中的 cron 也不喜欢 `*/5+2`,但是 `2-59/5` 的工作方式很像冠军。 (3认同)
  • @xtian,请查看我添加的替代解决方案,并让我知道它是否按预期工作。 (2认同)
  • 我的cPanel(版本11.52)似乎不接受这些语法.我已经解决了1,6,11,16,21,26,31,36,41,46,51,56****php ... (2认同)
  • Firebase 计划功能也需要带有“2-59/5”的更新版本。tnx (2认同)

Emi*_*ben 12

要么

*/5 * * * * sleep 120; ( first_script.sh & ) ; sleep 120 ; second_script.sh
Run Code Online (Sandbox Code Playgroud)

关于这种方法的好处是你可以让crontab在除了分钟边界之外的时间开始(比如小时后30秒)


dav*_*ave 6

*/5+1 * * * * first_script.sh
Run Code Online (Sandbox Code Playgroud)

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


Ale*_*les 6

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

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

具体会议记录清单。