Cron 作業無法執行 NodeJS 腳本

Cron 作業無法執行 NodeJS 腳本

我有一個 cron 作業,我想記錄輸出。 cron 檔案 ( crontab -e) 是:

0 7 * * * node $HOME/server/task.js >> $HOME/server/log.txt

cron 任務稱為:

$ grep CRON /var/log/syslog
Nov  4 07:00:01 ip-... CRON[0000]: (bitnami) CMD (node $HOME/server/task.js >> $HOME/server/task.txt)
Nov  4 07:00:01 ip-... CRON[0000]: (CRON) info (No MTA installed, discarding output)

有錯誤的行意味著我沒有安裝電子郵件,但我也不想。

當 NodeJS 任務的第一行使用 時,輸出檔案為空console.log()

我確認 cron 作業沒有運行。

如何調試錯誤、運行 cron 並將結果保存到文件中?

答案1

預設情況下,cron 作業的輸出會郵寄給您正在執行腳本的用戶,原因是您有未安裝 MTA因為您的系統上沒有安裝任何郵件代理程式。

您的腳本確實正在執行,如係統日誌第一行所示。這裡的問題在於未重定向到標準輸出的輸出。

所以試著編輯你的 cron 作業:

   0 7 * * * node $HOME/server/task.js >> $HOME/server/log.txt 2>&1

相關內容