其中一个cron作业没有运行

时间:2015-03-20 05:41:59

标签: linux perl cron

我尝试过很多东西,但似乎无法让它发挥作用。 我的cron中有以下2个条目:

00 21 * * 0,2,4 /scratch/.auto_preflight/sys_reboot.pl >> /scratch/.auto_preflight/.auto_reboot.log 2>&1

30 21 * * 0,2,4 /scratch/.auto_preflight/check_new_build.pl /scratch/.auto_preflight/import.txt >> /scratch/.auto_preflight/.auto_buildcheck.log 2>&1

执行后检查时,我可以看到第一个脚本成功执行。它重新启动系统。我可以看到日志和一切。但半小时后执行作业的脚本由于某种原因没有运行。甚至不留下任何日志。

现在我已经尝试更改时间并重新启动cron,然后运行,但它没有在预定的时间运行。系统重启会阻碍cron作业以某种方式执行吗?

这是我的cron版本:      了vixie-时钟守护4.1-81.el5

1 个答案:

答案 0 :(得分:1)

cron总是留下日志:/ var / log / cron说什么?你看到你的入境试图跑吗?

重启后机器什么时候启动?这是一个真正长时间重启的情况吗?有些脚本会阻止关机/启动吗?

同时检查/ var / log / cron中同一时间范围内的其他条目。

在黑暗中刺伤:是SELinux吗?根据您的描述,它应该无关紧要,但是例如,如果您的机器以Enforcing模式启动,但稍后会将其更改为Permissive - 这可能是需要考虑的事情。所以/ etc / sysconfig / selinux的状态在这里很重要,当你可以通过调整时间成功执行你的作业时输出“sestatus”命令。

在SELinux问题的情况下,查看/var/log/audit/audit.log可能会对它有所了解。

最后一件事:简化问题而不是“特殊”脚本 - 创建“虚拟”脚本:

00 21 * * 0,2,4 reboot
30 21 * * 0,2,4 touch /tmp/foo

现在如果/ tmp / foo不存在 - 有些东西与系统搞砸了,否则它必须是失败的脚本中的某些逻辑(锁定文件等)cron没有理由不在帐户上运行重启。这样可以防止所有其他cron作业被解雇。