サーバー

エラーを知らせるメールの嵐

2015年03月18日
使っているレンタルサーバーが、メンテナンスを行ったようです。
今回のメンテナンスは、OSのバージョンアップを行うとのこと、多分何かあるだろうなとは思っていました。

朝起きて、メールのチェックをすると、エラーを知らせるメールの嵐いや洪水かな・・・ 200通以上届いていました。
一体何が起きているんだ。

メールの差出人はどれも【Cron Daemon】です。cron実行時に何かが起こっているようです。
サーバーに負荷をかけていてはいけないので、急いでエラーが起きているスクリプトを確認、実行を止めます。
これで落ち着いて内容を確認できます。

各メールの内容を絞り込むと、

1番目
sendmail: illegal option -- d (dのところは色々な文字)
sendmail: fatal: usage: sendmail [options]



2番目
postdrop: warning: could allocate space for only 100 open files

というエラーが起きているようです。

2つ目は、オープンファイル100個までしかスペースを取っていないよ、と言っています。何のスペース?
調べてみると【postdrop】はメール関連のワーニングのようです。

ワーニングが出ているスクリプトでは、メールボックスを開いて、各メールの内容を確認しているので、そのことか?
それともエラーが多すぎると言っているのか?

今後のためにと思いメールボックスに残しておいたメールを整理しました。いつかはしないといけないと思っていたので、いい機会です。
と思い整理したのですが、メールボックスのメールが原因ではなかったようです。


2番目はwarningなので、エラーほど切羽詰っていません。
問題は1番目です。
【sendmail】で【illegal option】というエラーが起きています。ありえない引数をしていしているということです。

エラーが起こっているスクリプトのどこかを調べていくと、MTAが【qmail】かどうか調べている箇所が原因だとわかりました。ここは、意図的にエラーを起こしている箇所です。スクリプトの変更は難しいです。

いや待て、今まで同じスクリプトでエラーを知らせるメールは送られて来ていなかったぞ。
ということは、スクリプト云々ではなく、cronの設定が今までと変わって、cron実行時に起こったエラーをメールで知らせるようになったのでは?

いずれにしても、cronの設定を変えるのが現実的です。出力先を変更する方法があるんだけど、何だっけ?
第30回 「cron のお勉強」が分かりやすいです。

止まりました。やれやれです。
しかし、crontabの内容を見直してみると、今まで送られてこなかったのが不思議です。