今天是 2016 年 11 月 1 日或(明确的)数字,2016-11-01。
我有一个像这样设置的用户 cron 作业:
# m h dom mon dow command
33 3 1 */2 * /home/user/...
Run Code Online (Sandbox Code Playgroud)
它应该在每个月的第一天凌晨 3:33 每隔一个月运行一次,无论那是一周中的哪一天,但由于某种原因,它今天运行,即使 11 不能被 2 整除。
有人可以向我解释这个吗?我对可被 2 整除的假设是错误的吗?
编辑:我忘了说,我cron
在 Debian 8.6“Jessie”机器上运行版本“3.0pl1-127+deb8u1”。
Sve*_*ven 61
的/
不是一个算术表达式,而不是它描述在“步长值”允许值的范围内。因此,由于月份总是以1
而不是开头0
,/2
因此意味着“取其他值”,结果为 (1, 3, 5, 7, 9, 11)。
这也在手册页中进行了描述,尽管这并不可怕,而且易于理解:
步长值可以与范围结合使用。在带有“<number>”的范围之后指定跳过该范围内的数字值。例如,可以在 hours 字段中使用“0-23/2”来指定每隔一小时执行一次命令(V7 标准中的替代方案是“0,2,4,6,8,10,12,14,16 ,18,20,22")。星号后也允许步进,因此如果您想说“每两个小时”,只需使用“*/2”。
归档时间: |
|
查看次数: |
4519 次 |
最近记录: |