Cron

將 cron 預設發送郵件更改為郵件

  • April 4, 2017

我正在執行 FreeBSD 11.0-RELEASE。

預設 cron/usr/lib/sendmail用於發送使用者電子郵件。我如何告訴/設置 cron 來/bin/mail代替使用?

FreeBSD 使用 Paul Vixie 的 cron 版本,因此該-m選項設置電子郵件接收器而不是使用哪個郵件程序。

我下載了 FreeBSD 原始碼並嘗試了中的命令# make config/usr/src/usr.sbin/cron/由於未定義配置,因此 ofc 不起作用。但我認為這是一個壞主意,因為未來的更新很容易覆蓋這個?

謝謝你的幫助!

cron預設情況下,使用系統範圍_PATH_SENDMAIL宏的值作為 的擴展MAILCMD,該命令用於發送作業生成的消息。為了使用不同的郵件程序,您需要修改 Makefile 來為MAILCMDMAILARGS宏定義適當的值。原始碼樹中的 Makefile 包含說明可能值的註釋定義,但在定義MAILARGS為時適用的宏中似乎存在一個小錯誤- 它有兩個字元串擴展,但在呼叫時只接收一個字元串,所以在更新檔中在要點中,我刪除了第一個擴展。MAILCMD``/bin/mail

如果您安裝了該patch實用程序(如果沒有,它在埠中),應用此更新檔(相對於/usr/src/usr.sbin/cron)並建構/安裝 cron:

% cd /usr/src/usr.sbin/cron
% make 
% make install

重新啟動 cron,你現在應該使用/bin/mail. 注意這個更新檔版本在我的系統(11-STABLE)上乾淨地建構,但我沒有嘗試使用它來代替預設版本。請記住,升級時您可能需要再次執行此操作,因為 FreeBSD 預設使用/usr/lib/sendmail.

引用自:https://unix.stackexchange.com/questions/355745