2014-07-13 85 views
0

我有PHP腳本我試圖執行常規使用cron。在CentOS上的Cron沒有正確執行一個PHP腳本

我正在通過修改crontab文件來做到這一點。

crontab的內容:

SHELL=/bin/bash 
PATH=/sbin:/bin:/usr/sbin:/usr/bin 
MAILTO=root 
HOME=/ 

# For details see man 4 crontabs 

# Example of job definition: 
# .---------------- minute (0 - 59) 
# | .------------- hour (0 - 23) 
# | | .---------- day of month (1 - 31) 
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 
# | | | | | 
# * * * * * user-name command to be executed 
*/10 * * * * root /usr/bin/php /var/www/html/cron_update_statuses_one_hour.php 
0 */03 * * * root /usr/bin/php /var/www/html/cron_update_statuses_three_hour.php 
0 */08 * * * root /usr/bin/php /var/www/html/cron_update_statuses_eight_hour.php 
0 */16 * * * root /usr/bin/php /var/www/html/cron_update_statuses_sixteen_hour.php 
0 0 * * * root /usr/bin/php /var/www/html/cron_update_statuses_one_day.php 

的cron日誌:

Jul 13 00:10:01 s1 CROND[2944]: (root) CMD (cd /var/www/html/ /usr/bin/php    cron_update_statuses_one_hour.php) 
Jul 13 00:12:01 s1 crond[2124]: (*system*) RELOAD (/etc/crontab) 
Jul 13 01:00:01 s1 CROND[2977]: (root) CMD (/usr/sbin/raid-check) 
Jul 13 01:01:01 s1 CROND[2992]: (root) CMD (run-parts /etc/cron.hourly) 
Jul 13 01:01:01 s1 run-parts(/etc/cron.hourly)[2992]: starting 0anacron 
Jul 13 01:01:01 s1 anacron[3001]: Anacron started on 2014-07-13 
Jul 13 01:01:01 s1 run-parts(/etc/cron.hourly)[3003]: finished 0anacron 
Jul 13 01:01:01 s1 anacron[3001]: Jobs will be executed sequentially 
Jul 13 01:01:01 s1 anacron[3001]: Normal exit (0 jobs run) 
Jul 13 01:07:01 s1 crond[2124]: (*system*) RELOAD (/etc/crontab) 
Jul 13 01:10:01 s1 CROND[3022]: (root) CMD (/usr/bin/php  /var/www/html/cron_update_statuses_one_hour.php) 
Jul 13 02:01:01 s1 CROND[3059]: (root) CMD (run-parts /etc/cron.hourly) 
Jul 13 02:01:01 s1 run-parts(/etc/cron.hourly)[3059]: starting 0anacron 
Jul 13 02:01:01 s1 anacron[3068]: Anacron started on 2014-07-13 
Jul 13 02:01:01 s1 anacron[3068]: Jobs will be executed sequentially 
Jul 13 02:01:01 s1 anacron[3068]: Normal exit (0 jobs run) 
Jul 13 02:01:01 s1 run-parts(/etc/cron.hourly)[3070]: finished 0anacron 
Jul 13 02:10:01 s1 CROND[3072]: (root) CMD (/usr/bin/php /var/www/html/cron_update_statuses_one_hour.php) 

100%確保PHP的位置是正確的; 100%確定cron服務正在運行; 100%確定我的腳本的位置是正確的

此外,是的,我意識到我的第一個條目設置爲每隔10分鐘運行一次該命令,我只是爲了調試目的,請假裝其設置爲每運行一次小時

請大家幫忙* nix專家Big Grin | :-D!

謝謝

+0

一般來說,首先檢查cron問題是所有的環境變量。 crond不會以用戶身份登錄,因此.profile等等可能未被執行。從命令行執行set> /tmp/set.1。運行命令set> /tmp/set.2作爲cron作業。比較這兩個文件 –

回答

0

我不知道你的PHP腳本應該做的,所以我只能假設你已經取得了適當的檢查他們是否工作正常。

您是否嘗試過直接從命令行運行腳本?

$ PHP /var/www/html/cron_update_statuses_one_hour.php

嘗試增加的/ var/www/html等你的PATH。

還檢查PHP日誌,看看是否有任何錯誤顯示在那裏。

+0

謝謝 - 這只是cron命令的語法錯誤 –