我正在查看一个系统,其中有人添加了一个 cronjob,其时间表如下:
0 1/12 * * * doSomething
更常见的是,如果计划中的小时部分是,*/12
那么它将每 12 小时执行一次。
的预期行为是什么1/12
?
运行 Ubuntu 版本 12.04
答案1
另一个答案建议此语法表示增量。现在,我1/12
在分钟场地:
1/12 * * * * date >> ~/crontest.tmp
如果它增加,那么它将在每小时的这些分钟运行:1、13、25、37 和 49。但到目前为止的结果是:
Mon Aug 24 17:01:01 CEST 2015
Mon Aug 24 18:01:01 CEST 2015
Mon Aug 24 19:01:01 CEST 2015
Mon Aug 24 20:01:01 CEST 2015
Mon Aug 24 21:01:01 CEST 2015
Mon Aug 24 22:01:01 CEST 2015
Mon Aug 24 23:01:01 CEST 2015
Tue Aug 25 00:01:01 CEST 2015
Tue Aug 25 01:01:01 CEST 2015
Tue Aug 25 02:01:01 CEST 2015
Tue Aug 25 03:01:01 CEST 2015
Tue Aug 25 04:01:01 CEST 2015
Tue Aug 25 05:01:01 CEST 2015
Tue Aug 25 06:01:01 CEST 2015
Tue Aug 25 07:01:01 CEST 2015
Tue Aug 25 08:01:01 CEST 2015
Tue Aug 25 09:01:01 CEST 2015
如果你使用类似的表达式*/12
,那么它将运行“所有能被 12 整除的分钟”:12、24、36、48(包括0或60?)
1/12
所以我的猜测是“每小时的第一分钟,能被 12 整除的数”,永远不会,所以它会回到“每小时第一分钟”。
因此,1/12
小时字段将在每天凌晨 01:00 运行。
答案2
1/12 的预期行为是什么?
0 1/12 * * * doSomething
这意味着从凌晨 1 点运行,然后每 12 小时运行一次(1,13,...)。
特殊字符
/
- 用于指定增量。例如,
0/15
在秒字段中表示“0、15、30 和 45 秒”。5/15
在秒字段中表示“5、20、35 和 50 秒”。