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

AIX 7.1 crontab中的Kafka Producer收到JAVA错误:错误的主要版本

在 AIX 7.1 上从源代码编译 Ruby

手动运行脚本与在 cron 中运行

Cpanel 不运行我的 cron 作业

检查 cron 是不是安装在 AIX 机器上?