我有一堆设备都在运行类似的 cron 作业。目前,我将 cron 分钟和小时设置为随机数(这样它们不会同时运行)。
$random_minute $random_hour * * * sudo /bin/script
Run Code Online (Sandbox Code Playgroud)
我想保持这种使每个设备随机的模式,但我也有一个需要每 6 小时运行一次的脚本。如何将上面的内容与*/6
?
一天中没有那么多小时,所以为什么不只是
17 3,9,15,21 * * * sudo /bin/script
Run Code Online (Sandbox Code Playgroud)
在 03:17 运行,然后每 6 小时运行一次?
替代方案包括为程序本身添加睡眠:
0 */6 * * * (sleep 11820; sudo /bin/script)
Run Code Online (Sandbox Code Playgroud)
或者更频繁地运行脚本(例如,每小时),如果实际作业在过去 < 6 小时内执行,则让脚本退出。