Ubuntu

cron 可以將作業輸出寫入日誌預設情況下(而不是郵件)嗎?

  • June 20, 2018

我們都知道處理 cron 作業輸出的正確方法是將其重定向到文件:

0 * * * * /bin/date >> /var/log/date.log 2>&1

但是,有時管理員很懶惰、健忘或無知,並且不會進行這些重定向;在這種情況下,作業的輸出被郵寄給 $MAILTO 或擁有使用者或 root。在我管理的一些盒子上,郵件被禁用,所以這個輸出進入了一個黑洞。我想知道的是,有沒有辦法告訴 cron 獲取任何作業輸出,而不是郵寄它,而是將它扔到某個地方的一個包羅萬象的日誌文件中?我正在使用 Ubuntu(8.04 但正在遷移到 9.04)。在這個隨機的 Google 結果中有這樣一個解決方案的提示,但我認為 OP 可能對 cron 輸出與 cron 作業的輸出感到困惑。

我對涉及一些腳本或黑客攻擊的解決方案持開放態度,但理想情況下,這將是我可以在某處設置的配置位。我沒有看到任何提示man cron。謝謝!

對於croniecron(例如 Gentoo Handbook 推薦的),cron 呼叫有“-s”參數,它使用 syslog 將作業輸出發送到系統日誌。

簡短的回答是否定的,cron 按設計向 crontab 的所有者發送郵件。在標準 cron 中沒有辦法改變這一點。

我能想到的最好的方法是在您希望此行為將郵件轉儲到日誌文件而不是使用者郵箱的機器上配置 MTA。

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