/var/spool/mail/root を空(削除)にする
/var/spool/mail/root を空にする
ログインすると「You have mail in /var/spool/mail/root」とroot宛にメールが届いている事があります。cronの標準出力・エラー出力をメールで送信されます。メールを確認しないと溜まっていくばかりです。サイズも肥大化するので削除します。
削除方法は以下のコマンドで削除できます。「/dev/null」にファイルを出力するとその内容が破棄されます。Windows・macOSだとファイルの中身をゴミ箱に入れているような感じです
# cat /dev/null > /var/spool/mail/root
cron宛のメールを止める
上記のコマンドはroot宛のメールは削除されますが、cron宛のメールを止めないとまた届くのでcrontabの設定を変更します。
/etc/crontabの「MAILTO=root」になっている箇所を「MAILT0=""」に変更します。下記では「MAILTO=root」をコメントアウトして「MAILT0=""」を追記しています
# vim /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin #MAILTO=root MAILT0="" HOME=/ # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed
設定変更後ですが、設定変更後のcrondを再起動します
# CentOS 6.x # /etc/init.d/crond restart Stopping crond: [ OK ] Starting crond: [ OK ] # CentOS 7.x # systemctl restart crond
定期的に/var/spool/mail/root を空にするようにする
crontabの設定でcronの標準出力とエラー出力がメールで届かないようになりますが、logwatchや他のアプリケーション等のメールroot宛に届く場合があるので、下記のようにcronで定期的に削除して対応することもできます。
下記では早朝の5時に「/var/spool/mail/root」を空にしています
$ crontab -e 0 5 * * * cat /dev/null > /var/spool/mail/root
ディスカッション
コメント一覧
まだ、コメントがありません