ChatGPT解决这个技术问题 Extra ChatGPT

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

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


m
mwfearnley

语法 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 分钟。


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

或者

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

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


d
dave
*/5+1 * * * * first_script.sh

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


A
Ales

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

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

它的具体会议记录清单。