cronからメール抑制設定覚え書き
何気なく普段使っている自宅サーバにBeckyでアクセスしてメールを落としておこう*1と思ったら、サーバ上に2万通ものメールが。知らないうちにメール攻撃でも食らったかと思ってたら原因はcronの送るログメールでこれがものによってはかなり大きな容量*2になっていてBeckyがフリーズ、挙げ句の果てには鯖の挙動までおかしくなる始末。
仕方なくコンソールから鯖上のメールを消したんですが、こんなことにならないようにcrontabの設定をメールしない設定に変更しました。
$ crontab -e から編集画面に入って、
MAILTO="" 0 * * * * plagger -c /path/to/hateb_chtml.yaml 30 * * * * plagger -c /path/to/svn/plagger/feature-server/root/config.yaml
という風に最初の行に「MAILTO=""」を加えるだけ。
本来は指定したアドレスにログメールを送るオプションみたいですが、何も指定しないことでどこにも送らなくなるそうです。この設定だと全部送らなくなってしまうので送って欲しいものがあるときには、送らないで欲しいコマンドのあとに
0 * * * * plagger -c /path/to/hateb_chtml.yaml >/dev/null 2>&1
と書き込んでおけばそのコマンドについてのメールは無くなります。
とりあえずこれでサーバが突然パンクなってことはないかな。
その前に毎日バックアップして消すようにすることの方が大切ですが。