2010-11-16 83 views
2

大師,PHP腳本將無法運行作爲cron作業

我已經編碼爲我的客戶執行一些廣泛的數據改寫(munging)在他創造的文本文件的PHP腳本。

代碼是完整的,我現在已經自動化腳本。問題是,它似乎只有手動運行。我不會像CRON那樣工作。

這是我有試過在我的腳本的標題「#在/ usr/bin中/ PHP -q!」:

00 1 * * * /usr/bin/php -q /HDDLogs/HDDProcess.php >>/HDDLogs/HDDProcess.log 2>&1 

日誌文件確會創建,但空。我試圖刪除-q安靜模式:沒有區別。仍然沒有作爲CRON的工作。 PHP文件是chmod-ed 755.

Apache 2.0和PHP 5.3安裝在此服務器上。我完全擁有我的代碼和數據文件所在的目錄。

如果您想知道,我的腳本永遠不會調用URL。

任何想法??

謝謝,

鋁。

+1

@ user484638 - 刪除日誌文件,並查看它是否已被重新創建?如果是這樣,那意味着你的PHP僅僅是爲了'ps auwx | grep HDDProcess.php'檢查仍在運行 – ajreal 2010-11-16 17:53:14

+0

我試着你的建議。日誌文件不會被重新創建。 – Chris 2010-11-16 18:05:12

+0

@Paulo:正確。文件HDDProcess.log是空的。我用空身體(?)獲得CRON郵件。沒有信息。它是一個用戶crontab,我在這裏運行了十幾個bash腳本,沒有問題。 – Chris 2010-11-16 18:23:29

回答

2

我覺得應該是:

... /usr/bin/php -q -f /HDDLogs/HDDProcess.php ...」

「... /usr/bin/php -q < /HDDLogs/HDDProcess.php ...」。

+1

是的,您需要使用-f標誌才能從命令行執行文件。從'man php',「-f文件解析並執行文件」 – JAL 2010-11-16 18:01:42

+1

我試過了你的建議。不起作用:php腳本不會啓動。 – Chris 2010-11-16 18:13:09

+0

/HDDLogs/HDDProcess.log爲空?收件箱中的任何cron郵件?腳本運行時,你「蘇」的cronjob所有者?它是/ etc/crontab中的系統crontab還是用戶crontab? – 2010-11-16 18:24:35