cron 如何处理“偶尔”任务中的剩余任务

cron 如何处理“偶尔”任务中的剩余任务

如果我这样做:

*/9 * * * * /path/to/wotnot

该任务将在两小时内的什么时间运行(从 09h00 开始)

是 A 吗:

09h00
09h09
09h18
09h27
09h36
09h45
09h54
10h03
10h12
10h21
10h30
10h39
10h48
10h57

或 B:

09h00
09h09
09h18
09h27
09h36
09h45
09h54
10h00
10h09
10h18
10h27
10h36
10h45
10h54

答案1

当查看某个范围时,您只能在该列内进行解释,因此分钟列中的“*/9”表示“列出每分钟,然后选择每九个值”。此选择会在整点重置,因此您会每小时在 xx:00、xx:09、xx:18 等重新启动。

它也可以读作“每小时九分钟”,暗示在整点时重置。

因此,您看到的实际行为与选项 B 相对应。

答案2

为了确认约翰的回答,*/n分钟列的意思是“当分钟为 0 mod n 时”。这里有一个crontab条目:

*/7 * * * *  date >> /tmp/foo

输出如下:

Thu Jan 10 14:49:01 GMT 2013
Thu Jan 10 14:56:01 GMT 2013
Thu Jan 10 15:07:01 GMT 2013

注意最后两次之间的差距是不是七分钟,因为 nn:56 之后的下一个*/7匹配时间是 `nn+1:07。

是的,我知道那些时间是在未来(或者当我发布这篇文章时);我不得不将系统时钟调得相当快才能得到一个快速的答案。

相关内容