2016-07-25 199 views
0

我有一組腳本(PHP Symfony2),它應該通過cron執行,但有些腳本沒有正確執行。通話Cron沒有在Ubuntu服務器上運行腳本

例子:

* * * * * php /var/www/admin/app/console notification:send --env=prod 

我用grep CRON /var/log/syslog 但通過使用>>/var/log/cron*.log檢查輸出時,我沒有看到任何輸出或錯誤看到每個腳本的執行。

如果我手動運行腳本,一切正常。 服務器是在Ubuntu(Digital Ocean) 有沒有想法?謝謝

+0

給讀一讀[爲什麼crontab不執行我的PHP腳本?](http://stackoverflow.com/a/17362250/1983854) – fedorqui

回答

0

好的解決了。我必須使用php5 -f ...

0

當你在bash中直接運行你的命令時,它是否給出輸出/錯誤?

當你說你用過>>/var/log/cron*.log你是說你把它放在cron行的末尾?文件中完全沒有輸出?

嘗試這樣的線,讓您在日誌文件中獲取錯誤輸出,以及:

* * * * * php /var/www/admin/app/console notification:send --env=prod >> /var/log/cron*.log 2>&1 

或者,試試這個讓任何輸出/錯誤的電子郵件在運行時:

[email protected] 
* * * * * php /var/www/admin/app/console notification:send --env=prod 

在有些情況下,當由cron VS用戶運行運行的東西的工作方式不同邊緣的問題,所以你的手動運行結果進行比較,在調試/詳細輸出語句添加到您的腳本,並考慮權限和環境問題,如果你發現它停在一個特定的路線。

+0

直接在bash中,有沒有錯誤。 我甚至在我的腳本中設置了一個代碼來將執行記錄到數據庫中。執行保存只是當我手動運行命令,而不是通過cron(即使是有效的命令)... – Yohann

+0

當使用>>/var/log/cron.log記錄時我有:PDOException,找不到驅動程序 – Yohann

+0

OK解決了。 我必須使用php5 -f ... – Yohann

相關問題