Cron 作业不是每周运行一次

bro*_*o12 2 cron aix

我们有一项工作,定于周一至周五运行。直到两周前,它每周运行 5 天。在过去的两周里,它在周一失败了。我无法找到故障点的位置。

### Example Scripts
0 2 * * 1-5 /admin/scripts/example.exp 1>/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

我们运行 AIX 7.1。

我查看了 /var/log/ 并且那里没有 cron 文件。寻求建议以添加此内容,以便我们进行故障排除。

我发现日志位于/var/adm/log. 此外,自此日期/时间以来,我们反复收到此错误。如何清除此最大限制?

c queue max run limit reached Fri Nov 25 21:52:00 2016
! rescheduling a cron job Fri Nov 25 21:52:00 2016
Run Code Online (Sandbox Code Playgroud)

roa*_*ima 5

该错误消息c queue max run limit reached表示您已达到并发cron作业的限制。

我相信cronAIX 上的默认设置是 50 个并发作业,因此您确实需要调查为什么有 50 个作业同时运行。(也许它们是同一作业的多个相互重叠的实例。)

这两行应该为您提供在 下运行的作业列表cron,从那里您应该能够调查问题的根本原因:

p=$(ps -ef | awk '/[c]ron/{print $2}' | xargs | tr ' ' '|')
ps -ef | egrep "\<($p)\>"
Run Code Online (Sandbox Code Playgroud)

如果您确实需要增加并发作业的数量,您可以在/var/adm/cron/queuedefs以下位置找到配置设置:

c.50j20n60w
Run Code Online (Sandbox Code Playgroud)

在哪里

  • c=cron队列
  • Nj = 同时运行的最大作业数 cron
  • Nn=nice要运行的作业的值(默认为 2)
  • Nw = 作业必须等到下一次尝试运行它的时间

有关此答案的 AIX 特定来源,请参阅http://www-01.ibm.com/support/docview.wss?uid=isg3T1020382