【CentOS】ターミナルに「You have new mail in /var/spool/mail/vagrant」と表示されて鬱陶しい【Vagrant】

centos.png

ローカルのVagrant上で作業しているとき、ターミナルで何か処理をするごとに「You have new mail in /var/spool/mail/vagrant」と表示されるようになった。多分ローカルのcrontabがエラーでも吐いているんだろうと思うんだけど、確認出来ないし削除出来ないし鬱陶しい。どうしたもんか。


とにかくメールを見てみる

メールを開くためにはmailコマンドが使えないとダメらしい。あいにく

$ mail
-bash: mail: command not found

とのことだったので、mailコマンドを使うためにmailxというアプリケーションをインストールする。

$ sudo yum install mailx

するとmailコマンドでメールの一覧が見れるようになる。

$ mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/vagrant": 2452 messages 2452 new
>N  1 (Cron Daemon)         Wed Feb 13 05:00  25/1065  "Cron <vagrant@nobodyp"
N  2 (Cron Daemon)         Tue Feb 19 09:00  25/1065  "Cron <vagrant@nobodyp"
N  3 (Cron Daemon)         Wed Feb 20 01:30  34/1435  "Cron <vagrant@nobodyp"
N  4 (Cron Daemon)         Thu Feb 21 04:18  30/1445  "Cron <vagrant@nobodyp"
N  5 (Cron Daemon)         Tue Feb 26 04:05  30/1445  "Cron <vagrant@nobodyp"
N  6 (Cron Daemon)         Thu Feb 28 04:00  25/1065  "Cron <vagrant@nobodyp"
N  7 (Cron Daemon)         Tue Mar 12 07:30  25/1065  "Cron <vagrant@nobodyp"
N  8 (Cron Daemon)         Tue Mar 19 00:00  25/1056  "Cron <vagrant@nobodyp"
N  9 (Cron Daemon)         Tue Mar 19 03:49  30/1445  "Cron <vagrant@nobodyp"
N 10 (Cron Daemon)         Tue Apr 16 03:03  30/1445  "Cron <vagrant@nobodyp

どうやら全部で2,452通も溜まっているらしい。マジか。一応チェックしたけど、ローカルでテストしてたRSSリーダーの更新エラーだった。今はもう新しい環境の方で構築していてローカルのRSSリーダーは止めているので必要ない。というかそれ以前に、crontabの結果がここに送られてきているのがおかしい。


crontabに宛先を設定

ローカルとは言え一応エラーは受け取りたいので、設定をしておく。

$ crontab -e

最上部に以下を書く。

MAILTO="hoge@gmail.com"

これで結果はここに送られるはず。



メールを一括削除

何通か見てみたけど全部同じっぽかったので、一括削除。

mailコマンドに一括削除ってあるのかなと思ったけど、メールの削除はあっても一括削除はないので、これで削除。

cat /dev/null > /var/spool/mail/vagrant
$ mail
No mail for vagrant

綺麗になった。




参考

Linux や mac で You have new mail in … と表示される | uuutee.log