如何为 cron 作业设置偏移量?

如何为 cron 作业设置偏移量?

我有七个脚本需要启动,它们需要很长时间才能处理,因此,我的第一个想法是,像这样编写我的 crontab:

0 */3 0 0 0 /home/personal/my-script-1
0 */3 0 0 0 /home/personal/my-script-2
0 */3 0 0 0 /home/personal/my-script-3
0 */3 0 0 0 /home/personal/my-script-4
...

在这种情况下,我的所有脚本都会一起启动。我想要的是从偏移开始。所以我crontab像这样更改了我的设置,并在作业之间设置了 5 分钟的偏移:

0 0-59/3 0 0 0 /home/personal/my-script-1
0 5-59/3 0 0 0 /home/personal/my-script-2
0 10-59/3 0 0 0 /home/personal/my-script-3
0 15-59/3 0 0 0 /home/personal/my-script-4
...

但我不确定我的编辑。我的脚本是否会被安排在三小时间隔内启动,并偏移 5 分钟?

答案1

恐怕不是。

crontab 的第二个字段指定脚本将在一天中的几小时运行。因此,第一个脚本将从 0h00 到 59h00 每三个小时运行一次(这是无效的!小时数只能从 0 到 23),下一个脚本将从 5h00 到 59h00 每三个小时运行一次,依此类推。

如果要设置分钟,则需要使用第一的场地。

0 */3 0 0 0 /home/personal/my-script-1
5 */3 0 0 0 /home/personal/my-script-2
10 */3 0 0 0 /home/personal/my-script-3
15 */3 0 0 0 /home/personal/my-script-4

这将在 0h05、3h05 等时间运行第二个脚本,在 0h10、3h10 等时间运行第三个脚本。


更好的是,如果脚本总是按相同的顺序运行,只需编写另一个按顺序调用它们的脚本。这样,如果其中一个脚本恰好需要六分钟或更长时间,您就不会遇到问题。

相关内容