AIX 7.1 中的 Cron 作业在错误的时间运行
Posted
技术标签:
【中文标题】AIX 7.1 中的 Cron 作业在错误的时间运行【英文标题】:Cron job run at the wrong time in AIX 7.1 【发布时间】:2019-05-05 09:13:12 【问题描述】:我已将我的 cronjob 配置为在每个月的第一个星期一早上 8:40 运行,如下所示
40 08 1-7 * 1 /fs/test/testtime.sh
但它不仅在星期一运行,而且在今天也就是星期二运行。
有什么我错过的吗?
【问题讨论】:
应该没问题...因为 "40 08 1-7 * 1 /fs/test/testtime.sh" 意味着它从 1 开始在每月的每一天的 08:40 运行通过 7 和星期一。确保没有其他 cronjob 正在同时运行。你可以使用“crontab -l”并粘贴结果吗? 【参考方案1】:来自 crontab 的手册页(我的重点):
注意:命令执行的日期可以由两个字段指定 - 月份的日期和星期几。如果两个字段都受到限制(即不是
*
),则当其中一个 字段匹配当前时间。例如,
30 4 1,15 * 5
会导致命令在每个月的 1 日和 15 日凌晨 4:30 运行,加上每个星期五。 p>
因此,在您的情况下,该作业在每个月的前 7 天中的每一天运行,加上每周一。
您可以通过在命令中添加AND
条件而不是依赖时间规范中的OR
条件来做您想做的事情,例如:
40 08 1-7 * * test $(date +\%u) -eq 1 && /fs/test/testtime.sh
这将在所有这些日子(每个月的前 7 天)运行实际的 cron 作业,但 有效负载(脚本)只有在这一天是星期一。
【讨论】:
我可以知道测试这个词是指什么吗?可以换成别的词吗?可能是项目名称? @Ong,test
是一种测试特定条件的方法,所以,不,它不能被任意词替换。以上是关于AIX 7.1 中的 Cron 作业在错误的时间运行的主要内容,如果未能解决你的问题,请参考以下文章
AIX 7.1 crontab 中的 Kafka Producer 收到 JAVA 错误:Bad Major Version