Php

Google計算引擎 debian linux 上的 Cron 作業靜默失敗

  • November 30, 2017

如果 cron 作業失敗,我正在嘗試讓我的 cron 作業輸出錯誤。我創建了一個命令,該命令將故意無法嘗試測試,如下所示:

* * * * * php /var/some/nonexistent/script.php >> cronLog.log 

我不想使用 MTA,因為 Google Compute Engine 會阻止所有到埠 25 的傳出 SMTP 請求,但我在 cronLog.log 中看不到任何內容。我的權限設置正確,當 php 腳本成功執行時,我可以寫入 cronLog.log 沒有問題。因此,如果在成功的 cron 作業期間輸出成功通過管道傳輸到 cronLog.log,為什麼如果命令失敗它會消失?syslog 中也沒有任何內容。我的錯誤輸出到哪裡去了?

您沒有擷取輸出錯誤消息的 stderr。嘗試

* * * * * php /var/some/nonexistent/script.php >> cronLog.log 2>&1

2>&1標準錯誤重定向到標準輸出,標準輸出本身重定向到 cronLog.log。

引用自:https://serverfault.com/questions/885405