我正在运行 Ubuntu Server 10.04,其中有一个每分钟运行一次的 crontab,文件中有很多作业。每个作业都是要执行的 PHP 脚本。
今天早些时候,似乎有些(但不是全部)脚本没有成功执行。我检查了一下,cron 仍然报告正在运行,但脚本仍然没有执行其工作(尽管其他脚本正在运行)。正在运行:
sudo service cron restart
... 问题解决了,它们又重新开始了,但我需要知道发生了什么以及如何防止它再次发生。几周前也发生了类似的事情,所以我需要弄清楚是什么原因造成的。
我已经检查了 /var/log/syslog,在我认为发生这种情况时我唯一能看到的是:
Feb 25 11:39:01 myusername CRON[10514]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete)
据我所知,该程序每小时运行一次,因此我认为不太可能。日志中不时出现一些 munin 条目,我不再使用它们,因此如果存在嫌疑,可以将其删除。
唯一启用的自动更新是软件包列表 - 这会引起任何问题吗?我的 /etc/apt/apt.conf.d/10periodic 文件如下所示:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
... /etc/apt/apt.conf.d/50unattended-upgrades 中的所有内容都被注释掉了。
无人值守升级中的最后一条记录是今天早上 6:25,表明没有任何内容允许升级:
2013-02-25 06:25:56,646 INFO Initial blacklisted packages:
2013-02-25 06:25:56,646 INFO Starting unattended upgrades script
2013-02-25 06:25:56,646 INFO Allowed origins are: []
2013-02-25 06:25:59,902 INFO No packages found that can be upgraded unattended
如果您能提供任何帮助或为我指明进一步调查的正确方向,我将不胜感激!
谢谢 :)
编辑:
这些是我重新启动 cron 的日志中的行:
Feb 25 11:53:49 myusername init: cron main process (6666) killed by TERM signal
Feb 25 11:53:49 myusername cron[14240]: (CRON) INFO (pidfile fd = 3)
Feb 25 11:53:49 myusername cron[14241]: (CRON) STARTUP (fork ok)
Feb 25 11:53:49 myusername cron[14241]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
在此之前的日志条目中,它显示了运行失败的作业。我很困惑,为什么它们出现在系统日志中但似乎没有运行?