2017-04-08 66 views
0

愛我可以通過電子郵件跟蹤我的PHP腳本輸出的事實,但我有一些運行速度每15分鐘一次,所以這顯然會導致電子郵件過度涌入。我想把事情組織在一個日誌文件夾中,包括我的php輸出。輸出PHP Cron作業到日誌文件而不是電子郵件

這裏是我的cron作業:

*/15 * * * * /usr/bin/php public_html/mysite/folder/script.php 

我試圖改變到

*/15 * * * * /usr/bin/php public_html/mysite/folder/script.php >> /mysite/logs/folder/$(date +"\%Y-\%m-\%d_\%H:\%M").log 2>&1 

但我還在通過電子郵件接收錯誤輸出與錯誤

/usr/local/cpanel/bin/jailshell:/mysite/logs/folder/2017-04-08_10:27.log:沒有這樣的文件或目錄

我該如何解決這個問題並將我的PHP輸出轉換爲日誌或txt文件?

編輯:

以供將來參考,正確的語法來做到這一點:

*/15 * * * * public_html/mysite/folder/script.php >> mysite/logs/folder/$(date +"\%Y-\%m-\%d_\%H:\%M").log 2>&1 
+0

確保目錄'/ mysite/logs/folder /'存在。最好的方法是在終端中運行該命令,包括重定向以及所有命令,然後將其放入crontab中。 – axiac

回答

0

的語法是好的,檢查路徑。你把/mysite,但它真的在根?當你參考你把public_html/mysite的腳本。

確保日誌文件的絕對路徑是什麼,並更新您的crontab。

+0

太棒了。一個簡單的修復方法,使我的頭部朝不同的方向旋轉。我只需從'mysite'中刪除前導'/'並且它工作正常。 –

+0

它發生在我們所有人身上!很高興它的工作。 – kontiki

+0

請注意,cron **通常**運行在用戶的主目錄中,儘管這可能取決於實現。在你的情況下,我假設mysite是在用戶的主目錄中。我通常更喜歡使用絕對路徑,以避免任何可能的混淆。一個簡單的方法來檢查crontab的工作目錄是在你的crontab中創建一行:'* * * * * pwd>/tmp/pwd.txt'。您將在pwd.txt文件中在一分鐘之內得到答案。只記得從你的crontab中刪除該行! – kontiki

相關問題