Cron 作业不会每周运行一次

Cron 作业不会每周运行一次

我们有一项工作定于周一至周五进行。直到两周前,每周有 5 天运行良好。过去两周,周一都失败了。我无法找到哪里可以找到故障点。

### Example Scripts
0 2 * * 1-5 /admin/scripts/example.exp 1>/dev/null 2>&1

我们运行 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

答案1

该错误消息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)\>"

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

c.50j20n60w

在哪里

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

http://www-01.ibm.com/support/docview.wss?uid=isg3T1020382获取此答案的特定于 AIX 的来源。

答案2

crontab 的格式表明它是一个用户 crontab(与系统 crontab 不同,系统 crontab 在时间规范后添加了“用户”字段)。

通过重定向,您将失去信息丰富的日志消息。试试这个:

0 2 * * 1-5 /admin/scripts/example.exp >> $HOME/cron.log 2>&1

您将在主目录中的 cron.log 文件中获得执行结果。

答案3

在默认安装中,cron 作业被记录到

/var/log/syslog

您可以通过运行来查看该日志文件中的 cron 作业

grep CRON /var/log/syslog

如果您没有重新配置任何内容,条目将在那里。

相关内容