Cron 在哪裡尋找預設的郵件二進位檔案?

Cron 在哪裡尋找預設的郵件二進位檔案?

我已將 Cron 作業設定為在 Chroot 環境中執行,具體取決於使用者/群組;

我注意到這些在 chroot 環境中執行的 cron 作業無法傳送任何郵件。

日誌檔案報告找不到發送郵件的程式。

Cron 進程在哪裡尋找預設郵件二進位檔案?您可以設定或配置該路徑嗎?

順便說一句..如果未設定 MAILTO= 變量,Cron 如何知道要將郵件發送到哪裡?它只是向本地主機上運行作業的使用者發送郵件嗎?

謝謝!

答案1

Cron 進程在哪裡尋找預設郵件二進位檔案?

除非另有說明,我相當確定它只是使用在路徑(/bin:/usr/bin)中找到的郵件程式。您可以-m為某些版本的 cron 指定命令列參數

-m 此選項可讓您指定用於發送 cron 郵件輸出而不是 sendmail(8) 的 shell 命令字串。該命令必須在標準輸入上接受完全格式化的郵件訊息(帶有標頭),並將其作為郵件訊息發送給郵件標頭中指定的收件者。

以上適用於 CentOS/RHEL,Ubuntu 看起來不同

您可以設定或配置該路徑嗎?

往上看。

如果未設定 MAILTO= 變數...

如果未設定 MAILTO,則您懷疑郵件將傳遞給正在執行作業的本機使用者。

在 CentOS/RHEL 上,您可以在 /etc/sysconfig/crond 中指定額外的命令列參數,這樣您就不必編輯初始化腳本。其他作業系統/發行版可能提供類似的功能。

相關內容