テスト環境およびファイルサーバーとして、FreeBSD を使ったローカルサーバーがあります。cron での実行結果などを日々メールで送ってくれるようになっているのですが、7.3R にアップグレードをしてから来なくなってしまいました。
前回のアップグレードでも同じ現象があったのですが、どうやって直したのか忘れてしまっていて手間取ったので、メモとして残しておきます。
結論から言いますと、原因は/etc/mail/mailer.conf
の構文エラーでした。
アップグレードは freebsd-update を使用したのですが、その際に変更内容を示すデータがそのまま反映されてしまい、次のようになっていました。
- <<<<<<< current version
- =======
- # $FreeBSD: src/etc/mail/mailer.conf,v 1.3.38.1 2010/02/10 00:26:20 kensmith Exp $
- >>>>>>> 7.3-RELEASE
- #
- # Execute the Postfix sendmail program, named /usr/local/sbin/sendmail
- #
- sendmail /usr/local/sbin/sendmail
- send-mail /usr/local/sbin/sendmail
- mailq /usr/local/sbin/sendmail
- newaliases /usr/local/sbin/sendmail
1・2・4行目が追加された行で、それぞれをコメントアウトすることで修正できます。
なお、解決に至ったのは、ログファイル/var/log/dmesg.today
に次のようなエラーが記録されていたためです。
- pid 44294 (mailwrapper), uid 0: exited on signal 11 (core dumped)
先ほどの /etc/mail/mailer.conf
はmailwrapper の設定ファイルです。cron で実行する簡単なプログラムをコンソールから実行してみたところ、その時刻に上記ログが記録されていたため解決することができました。