You have mail in /var/spool/mail/root
というメッセージを見たことがあるでしょう。
cronを起動するとmailが送信されます。
そして例えば、1分毎にcronを起動したりすると、
気づかないうちに恐ろしい数のメールを受信しておりディスクを圧迫します。
cronの実行時にmailを受信しなようにするには2つの方法があります。
1.crontabの設定を変更する
crontabにある MAIL= の値を “”(空) に変更します。
[root@localhost neko]# vim /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin #MAILTO=root MAILTO="" 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
もちろんこの方法は全てのcronの設定に反映されるのでいたってシンプルです。
2.cront登録の設定に dev/null を追加する
もしかしてエラーメールは受信したいなど思っているのであれば、
crontabのコマンド設定時にdev/nullを追加します。
[root@localhost neko]# crontab -e ## 標準出力のみメールを送信しない * * * * * cmd 1> /dev/null # 標準出力もエラーもメール送信しない * * * * * cmd >/dev/null 2>&1
設定毎に制御できる点が魅力です。