通常在指定时间/日期时执行作业 所有字段均与当前时间和日期匹配,只有一个例外:如果 “月的某天”(字段3)和“星期几”(字段5)都是 限制(不是“ *”),则其中之一或两者必须与当天匹配。[3]
这是否意味着我设置
一周中的某天= 2,月份中的某天= 09
OR
一周中的某天= 3,一周中的某天= 10
那么任务将不会在2019年1月9日(星期三)运行?
我认为Wiki不正确。
答案 0 :(得分:1)
每月的某天和一周的某天之间的函数为OR。这样的记录
0 0 9 1 2
和
0 0 10 1 3
都将执行脚本。关系是
day of week OR day of month
作为参考,请检查cron
中的man page
注意:命令的执行日期可以由两个字段指定 -每月的某天和一周的某天。如果两个字段都受限制(即不是*),则当任一字段与 当前时间。
答案 1 :(得分:1)
这意味着是否满足两个条件之一(可以是两个,也可以不需要)
注意:可以在以下两个字段中指定命令的执行日期-“月中的天”和“周中的天”。如果两个字段都受限制(即不包含
*
字符),则在以下情况下将运行该命令 两个字段均与当前时间匹配。例如,30 4 1,15 * 5
将导致命令在每月的1号和15号的凌晨4:30运行,每个星期五 plus 。来源:
man 5 crontab
在OP的示例中,如果日期为Wednesday Jan 09 2019
,则为crontab:
x x 9 x 2
将执行,因为它是该月的第九天,并且
x x 10 x 3
将执行,因为它是星期三