【问题标题】:crontab job skipping to run randomlycrontab 作业跳过随机运行
【发布时间】:2014-06-16 19:21:53
【问题描述】:

我有一个 crontab 作业设置,每 5 分钟运行一次。它运行良好,没有任何问题。但有时运行失败。 例如 它在一个小时的第 5、10、15 分钟运行良好,但第 20 分钟不会运行,但在第 25 分钟再次运行良好。 下一次可能是第 55 分钟失败。 (随机服务器上的随机时间)

我签入 /var/log/cron 并且所有已执行的作业都有条目,但对于错过的作业,甚至没有条目。

例如。在下面的 /var/log/cron 作业中,rmlogs 在 21.35 运行良好,错过了在 21.40 运行,但在 21.45 再次运行。

Jun 12 21:35:01 [serverxxxx] CROND[4167]: (vfhttpd) CMD (/opt/vmware/vfabric-web-server/http-proxy/tools/rmlogs -t 5 >> /opt/vmware/vfabric-web-server/http-proxy/logs/rmlogs.log 2>&1 #PUPPET)
Jun 12 21:40:01 [serverxxxx] CROND[4201]: (root) CMD (/usr/lib64/sa/sa1 -S DISK -F 1 1)
Jun 12 21:41:02 [serverxxxx] CROND[4213]: (root) CMD (/usr/local/bin/monitor_mcollective >/dev/null 2>&1 #PUPPET)
Jun 12 21:45:01 [serverxxxx] CROND[4225]: (riak) CMD (/opt/riaktools/riak-create-logs -p /var/log/riak > /dev/null 2>&1 #PUPPET)
Jun 12 21:45:01 [serverxxxx] CROND[4227]: (vfhttpd) CMD (/opt/vmware/vfabric-web-server/http-proxy/tools/rmlogs -t 5 >> /opt/vmware/vfabric-web-server/http-proxy/logs/rmlogs.log 2>&1 #PUPPET)
Jun 12 21:50:01 [serverxxxx] CROND[4665]: (root) CMD (/usr/lib64/sa/sa1 -S DISK -F 1 1)
Jun 12 21:50:01 [serverxxxx] CROND[4666]: (vfhttpd) CMD (/opt/vmware/vfabric-web-server/http-proxy/tools/rmlogs -t 5 >> /opt/vmware/vfabric-web-server/http-proxy/logs/rmlogs.log 2>&1 #PUPPET)
Jun 12 21:52:01 [serverxxxx] CROND[4700]: (root) CMD (/usr/local/bin/refresh-mcollective-metadata #PUPPET)

【问题讨论】:

  • 你的 crontab 是什么样的?

标签: linux unix cron crontab redhat


【解决方案1】:

您有理由怀疑您的 cron 作业是否确实每 5 分钟启动一次。 为了排除疑问,您可以扩展 crontab 行,其中包含您的 cron 作业并带有前缀:

  date >>/tmp/base_name_of_your_cronjob.log; 

并检查此附加日志文件。 如果此日志文件每 5 分钟包含一次条目且没有间隔,那么您应该调查 /var/cron/log 是否为每次启动 cron 作业(包括 cron 作业崩溃的情况)获取新记录。

额外的检查点是确保 cron 守护进程已经永久运行并且没有重新启动。您可以通过例如检查其过程来做到这一点

 ps -ef|grep crond 

【讨论】:

    猜你喜欢
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 2014-05-07
    相关资源
    最近更新 更多