2016-07-23 83 views
2

几个月前它没有发生任何问题,我不记得自那时起有任何更改。/var/log/cron和Logwatch报告都表明正在调用脚本,但实际上没有执行任何操作。Crontab停止工作,crons被调用但未被执行

  • 我使用PHP &卷曲的完整路径,并命令正常工作时,我只是将它们插入到SSH。
  • crond服务正在运行
  • cron.deny文件中不存在用户名,只有'nobody'在那里。

我的crontab:

[email protected] [~]# crontab -l -u my-username 
SHELL="/sbin/nologin" 
MAILTO="" 
* * * * * /usr/local/bin/php -q /home/my-username/public_html/cron.php 
*/2 * * * * /usr/bin/curl -m 240 -s http://full-path 
*/3 * * * * /usr/bin/curl -m 240 -s http://full-path &>/dev/null 
*/4 * * * * /usr/bin/curl http://full-path 
*/5 * * * * /usr/bin/curl http://full-path 
0 */12 * * * /usr/local/bin/php -q /home/my-username/public_html/path/to/script.php 

日志:

[email protected] [~]# tail -15 /var/log/cron 
Jul 23 05:18:03 de CROND[18188]: (my-username) CMD (/usr/bin/curl -m 240 -s http://full-path &>/dev/null) 
Jul 23 05:18:03 de CROND[18189]: (my-username) CMD (/usr/bin/curl -m 240 -s http://full-path) 
Jul 23 05:18:03 de CROND[18190]: (my-username) CMD (/usr/local/bin/php -q /home/my-username/public_html/cron.php) 
Jul 23 05:19:02 de CROND[18328]: (root) CMD ((sync;echo 1 >/proc/sys/vm/drop_caches;sync) >/dev/null 2>&1) 
Jul 23 05:19:02 de CROND[18327]: (my-username) CMD (/usr/local/bin/php -q /home/my-username/public_html/cron.php) 
Jul 23 05:20:02 de CROND[18479]: (my-username) CMD (/usr/local/bin/php -q /home/my-username/public_html/cron.php) 
Jul 23 05:20:02 de CROND[18472]: (my-username) CMD (/usr/bin/curl -m 240 -s http://full-path) 
Jul 23 05:20:02 de CROND[18477]: (root) CMD ((sync;echo 1 >/proc/sys/vm/drop_caches;sync) >/dev/null 2>&1) 
Jul 23 05:20:02 de CROND[18474]: (root) CMD (/usr/local/maldetect/maldet --mkpubpaths >> /dev/null 2>&1) 
Jul 23 05:20:02 de CROND[18473]: (root) CMD (/usr/lib64/sa/sa1 1 1) 
Jul 23 05:20:02 de CROND[18476]: (my-username) CMD (/usr/bin/curl http://full-path) 
Jul 23 05:20:02 de CROND[18478]: (my-username) CMD (/usr/bin/curl http://full-path) 
Jul 23 05:20:02 de CROND[18475]: (root) CMD (/usr/local/cpanel/bin/dcpumon >/dev/null 2>&1) 
Jul 23 05:20:02 de CROND[18480]: (cacti) CMD (php /home/cacti/public_html/cacti/poller.php > /dev/null 2>&1) 
Jul 23 05:20:02 de CROND[18481]: (root) CMD (LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok) 
[email protected] [~]# 

我还需要检查? 运行CentOS版本6.7(最终版)

回答

1

克朗只告诉你它试图运行这个工作,而不是退出状态。

在你可以做些什么来帮助调试cron:把cron的日志级别设置为-L 15。您可以在/etc/defaults/cron中使用行EXTRA_OPTS='-L 15'进行设置。然后重新启动 - sudo service cron restart。您的日志现在将显示上的错误是这样的:

Jul 23 11:45:01 localhost CRON[3565]: (CRON) error (grandchild #3566 failed with exit status 127) 

除此之外:

  • SHELL="/sbin/nologin"看起来嫌疑。那样有用吗?尝试删除它。
  • MAILTO设置为您的本地邮箱MAILTO=dave(或者仅从空字符串中取消设置)并检查邮件,或者只是将脚本的输出传输到日志中,也可能有助于调试情况。
+0

固定!非常感谢你的帮助。它只有在消除了可疑行后才起作用(我不知道它的意思)。克朗现在工作正常!我应该让mailto字符串再次为空吗?还是有更好的日志记录输出比垃圾邮件我的电子邮件?再次感谢@ s-pinkus –

+0

没有probs :)。高兴你想用MAILTO做什么。如果你的脚本输出很多垃圾,它会变得很嘈杂,所以很多人都禁用它。但是它对调试或者脚本仅在出现错误时才输出会很有用。通常使用'syslog'虽然更好。 – spinkus

+0

我遇到了另一个问题。 cURL似乎正在提取页面的旧/缓存副本。脚本通常需要大约3分钟才能完成,但现在卷曲立即显示输出,这是一个旧尝试。这也发生在cron之外,当我在SSH中执行curl时,但在浏览器中它正常运行。任何建议? –