“月份中的某一天”和“星期几”crontab 字段是否互斥?

Mar*_*ark 3 cron

根据 Artur Meinild 的回答 crontab 的“月份”和“星期”字段是互斥的。然而,根据man 5 crontab(对于亲信来说,如果重要的话):

当“分钟”、“小时”和“一年中的月份”字段与当前时间匹配,并且两个“日期”字段中的至少一个(“月份中的日期”或'星期几') 匹配当前时间

那么,以下行是错误,还是/bin/true每周三加每月第二天运行的指令?cronie 的手册页记录的是标准行为,还是特定于应用程序的怪癖?

* * 2 * 3    /bin/true
Run Code Online (Sandbox Code Playgroud)

fra*_*san 7

POSIX规范crontab,以标准\xe2\x80\x94 的语言措辞,旨在最大限度地减少歧义\xe2\x80\x94 可能有最清晰的解释(为了清晰起见,添加了强调,段落分割):

\n
\n

可以通过两个字段(月份中的日期和星期几)来指定日期。

\n
\n
\n

如果月、月中的某一天、星期几都是<星号>字符,则每天都将被匹配。

\n
\n
\n

如果月份或月份中的某一天被指定为元素或列表,但星期几是 <asterisk>,则月份和月份中的某一天字段应指定匹配的日期。

\n
\n
\n

如果月份和月份中的某一天都指定为 <asterisk>,但星期几是元素或列表,则只有一周中指定的天数匹配。

\n
\n
\n

最后,如果月份或月份中的某一天被指定为元素或列表,并且星期几也被指定为元素或列表,则与月份和月份中的某一天或星​​期几匹配的任何一天,应匹配。

\n
\n

这证实了:

\n
    \n
  1. 如果当前日期是星期三或该月的第二天,则执行示例中的任务。

    \n
  2. \n
  3. 这是有记录的标准行为。

    \n
  4. \n
\n