我有一個bash腳本,用於檢查我的PHP服務是否正在運行,並在需要時啓動它。使用crontab運行bash腳本時遇到問題
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KP=$(pgrep -P 1 -f script.php)
if [ "X$KP" = "X" ]
then
/usr/bin/nohup php /var/www/test/script.php >>/var/www/test/log.txt 2>&1 &
fi
我加入下面進入crontab -e
(如我的用戶)。
* * * * * /var/www/test/startup >> /var/www/test/cron.log 2>&1 &
cron運行,我看到htop
的過程。但是,它似乎沒有工作或寫入日誌。它只是坐在那裏使用0%的CPU。 /var/www/test/
文件夾歸我所有,日誌文件擁有666
權限。
出了什麼問題?或者說,我可以更改哪些錯誤日誌,以便我知道什麼是錯誤的?
如果您從命令行手動運行代碼,它的工作原理是什麼? '/ usr/bin/nohup php /var/www/test/script.php >>/var/www/test/log.txt 2>&1& ' –
@Crazy_Bash,輸出爲'[1] 1858'(該pid)並且該進程正在運行。它似乎也寫入了'log.txt'文件。 – Xeoncross
它最多是權限問題,請嘗試向crontab添加sudo –