2013-01-01 141 views
0

GNU納米2.0.9文件:/tmp/crontab.XXXXzBQgwS殼牌crontab的工作不

*/5 * * * * ~/check_phpfpm.sh 
*/5 * * * * ~/check_nginx.sh 
*/5 * * * * ~/disk-clean.sh 
*/5 * * * * ~/loadcheck.sh 

通過右鍵我的代碼應該運行每5分鐘。但它不運行

[[email protected] ~]# ls -l 
total 756 
-rw-------. 1 root root 1688 Dec 18 09:45 anaconda-ks.cfg 
-rwxrwxrwx 1 root root 139 Dec 28 18:18 check_nginx.sh 
-rwxrwxrwx 1 root root 140 Dec 28 18:19 check_phpfpm.sh 
-rwxrwxrwx 1 root root 456 Dec 28 18:18 disk-clean.sh 
-rw-r--r--. 1 root root 15469 Dec 18 09:45 install.log 
-rw-r--r--. 1 root root 5267 Dec 18 09:44 install.log.syslog 
-rwxrwxrwx 1 root root 503 Dec 19 19:26 loadcheck.sh 
drwxr-xr-x 9 1001 1001 4096 Dec 18 11:08 nginx-1.3.2 
-rw-r--r-- 1 root root 722119 Jun 26 2012 nginx-1.3.2.tar.gz 
[[email protected] ~]# 

它應該運行〜/ check_phpfpm.sh作爲我的代碼,如果我手動運行它會工作

[[email protected] ~]# 
[[email protected] ~]# ~/check_phpfpm.sh 
Stopping php-fpm:           [FAILED] 
Starting php-fpm:           [ OK ] 

更多check_phpfpm,那就是檢查腳本服務php-fpm正在運行,如果它不工作,它將執行並重新啓動php-fpm,但問題是如果我手動運行它的工作。但crontab不重啓,服務器的php-fpm崩潰並進入停止模式,但是這個腳本沒有重啓,我的crontab應該每5分鐘執行一次腳本來檢查。

我的crontab設置有什麼問題?感謝所有幫助

+0

的Cron通常會向您發送電子郵件有關它的輸出。你能否使用本地系統上的郵件檢查你的電子郵件? – traditional

+0

爲什麼不直接查看/ var/log內的日誌文件? – benjarobin

+0

兩個常見問題:不設置你的環境(PATH等)或不使用預期的shell ...在cron下默認值都是非常小的。從命令行運行但不在cron下運行是這種情況的典型症狀。快速測試:*/5 * * * *。 〜/ .profile && your_command – Gilbert

回答

0

首先確保你的腳本是可執行的:

chmod u+x name_of_script 

現在把它添加到的crontab:

crontab -e 

另外,還要確保你在crontab e.g寫的完整路徑:

*/5 * * * * /home/user/loadcheck.sh 
+2

'crontab -e'(編輯你的crontab)有效,但我個人從未使用它。我將我的crontab文件保存在一個源代碼管理系統中,並使用'crontab filename'來安裝它。這樣我就可以避免丟失信息,並且從錯誤中恢復起來更容易。 –

0

您確定CRON服務正在解僱嗎?也許它甚至沒有運行。

根據你的發行版,你可以檢查其運行它沒有使用類似...

# service crond status 

如果它在運行,你的腳本不會燒那麼很可能存在一個權限或位置的問題。你能通過CRON使用〜嗎?例如,可以嘗試將腳本的絕對路徑放在/home/user/check_phpfpm.sh中。

如果您從CRON獲取錯誤,請檢查您的CRON日誌,可能位於/ var/log/cron或類似的地方,或者通過在CRONTAB的第一行添加以下內容將CRON輸出發送給您...

MAILTO="[email protected]"