CentOS7で、あまりにも anacron に書いたスクリプト ( /etc/cron.weekly/ 以下のスクリプトとか) の出力がローカルのメールにたまっていた。普段はローカルのメールなんか読まないので、さすがに対応した。
特定ユーザだけとか、anacronだけというわけではなくて、そもそもsendmailがまともに外にメールを出せるようになっていないので、いちいちcrontabでMAILTO変数を設定しなおすことはせず、システム全体で抑止することにした。
man crond を読んで、crondの起動時オプションを変更する方針にした。
この起動時オプションは、(CentOS7の場合は、) crondのユニットファイル ( /lib/systemd/system/crond.service ) を読むと、 /etc/sysconfig/crond になっているようなので、このファイルを開いて、 CRONDARGS 変数に書く。 (crondのユニットファイルで、実行時にCRONDARGS変数を引いてコマンドを叩いていることがわかる。)
/etc/sysconfig/crond の中身はこれ。
# Settings for the CRON daemon.
# CRONDARGS= : any extra command-line startup arguments for crond
CRONDARGS="-s -m off"
man crond によると、 -s は syslog に cron の出力を送るもので、 -m は、sendmailの代わりに使うメール配送コマンドを指定でき、 “off” にすることでメールが送信されなくなる。はず。
一応、これでしばらく様子見にする。
⇒
様子を見た結果、いまいち効いていなかった。
とりあえず、しょうがないので、crontabとかでMAILTOを書かないといけないようだ。