Php
Google計算引擎 debian linux 上的 Cron 作業靜默失敗
如果 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。