crontab星期几和月几必须同时匹配吗?

crontab星期几和月几必须同时匹配吗?,cron,Cron,说: 正常情况下,当时间/日期规范 所有字段都与当前时间和日期匹配,但有一个例外:如果 “月日”字段3和“星期日”字段5均为空 受限非*,则其中一个或两个必须与当天匹配。[3] 这是否意味着如果我设置 周中日期=2,月中日期=09 或 一周中的第几天=3,一个月中的第几天=10 那么该任务将不会在2019/1/09周三运行 我认为wiki是不正确的。月日和周日之间的函数是或。那么记录呢 0 0 9 1 2 及 两者都将执行脚本。关系是 day of week OR day of month

说:

正常情况下,当时间/日期规范 所有字段都与当前时间和日期匹配,但有一个例外:如果 “月日”字段3和“星期日”字段5均为空 受限非*,则其中一个或两个必须与当天匹配。[3]

这是否意味着如果我设置

周中日期=2,月中日期=09

一周中的第几天=3,一个月中的第几天=10

那么该任务将不会在2019/1/09周三运行


我认为wiki是不正确的。

月日和周日之间的函数是或。那么记录呢

0 0 9 1 2

两者都将执行脚本。关系是

day of week OR day of month
用于cron的参考检查

注意:命令的执行日期可以由两个字段指定 -月日和周日。如果两个字段都是受限的,即不*,则当其中一个字段与 当前时间


月日和星期日之间的函数为或。那么记录呢

0 0 9 1 2

两者都将执行脚本。关系是

day of week OR day of month
用于cron的参考检查

注意:命令的执行日期可以由两个字段指定 -月日和周日。如果两个字段都是受限的,即不*,则当其中一个字段与 当前时间


这意味着如果满足两个条件中的一个,则可以同时满足这两个条件,而不需要满足这两个条件

注意:可以在以下两个字段中指定命令的执行日期—“月日”和“周日”。如果两个字段都受到限制,即不包含*字符,则在 任一字段都与当前时间匹配。例如 30 4 1,15*5将导致在每月1日和15日上午4:30以及每个星期五运行命令

资料来源:man 5 crontab

在OP示例中,如果日期为2019年1月9日星期三,则crontab:

x x 9 x 2
将被执行,因为这是本月的第九天

x x 10 x 3

将执行,因为这是一个星期三

这意味着如果两个条件中的一个满足,则可以同时满足,而不需要满足

注意:可以在以下两个字段中指定命令的执行日期—“月日”和“周日”。如果两个字段都受到限制,即不包含*字符,则在 任一字段都与当前时间匹配。例如 30 4 1,15*5将导致在每月1日和15日上午4:30以及每个星期五运行命令

资料来源:man 5 crontab

在OP示例中,如果日期为2019年1月9日星期三,则crontab:

x x 9 x 2
将被执行,因为这是本月的第九天

x x 10 x 3
将执行,因为今天是星期三