2016-07-23 80 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時,但在瀏覽器中它正常運行。任何建議? –