Cron作业在AIX 7.1中的错误时间运行

时间:2018-12-04 01:48:17

标签: unix cron aix

我已将cronjob配置为在每月的8月40日的每个第一个星期一运行,如下所示:

40 08 1-7 * 1 /fs/test/testtime.sh

但是它不仅在星期一运行,而且还在今天的星期二运行。

有什么我想念的吗?

1 个答案:

答案 0 :(得分:2)

从crontab的手册页中(我的重点):

  

注意:命令的执行日期可以由两个字段指定-月份的日期和星期几。如果 两者 字段均受限制(即不是*),则当 两者 < / strong>字段匹配当前时间。

     

例如,30 4 1,15 * 5将导致命令在每月的1号和15号的凌晨4:30运行,每个星期五 plus

因此,在您的情况下,该工作在每个月的前七个天中的每个工作天运行,每个星期一 plus

您可以通过在命令中添加AND条件来执行所需操作,而不是依赖时间规范中的OR条件,例如:

40 08 1-7 * * test $(date +\%u) -eq 1 && /fs/test/testtime.sh

这将在那几天(每月前七个天)在所有上运行实际的cron作业,但是 payload (脚本)仅在以下日期运行:星期一。