SpamAssassinの憂鬱
最近、自宅のメールサーバーのSpamAssassinの調子が悪い。
プロバイダのメールサーバーからfetchmailでメールを取得しようとすると、「Query Status = なんたらかんたら」と言って取得できなくなる。
原因を調べてみると、fetchmail で呼び出している Procmail から実行しているSpamAssassin がうまく動いていないから。
とりあえず、cron で動かしている fetchmail を止めて、いろいろと調べてみる。
ネットで調べてみても、そのものズバリの情報が無かったが、いろいろな情報を参考にした結果ロックファイルを消すということと、ベイジリアンフィルタのデータベースを再構築するということを実行したら、なんとか動いた。
$ cd ~/.spamassassin
$ rm *.lock*
$ sa-learn --sync
しかし、一度復帰しても、またしばらく稼動させていると同じ症状になる。
ロックファイルは、SpamAssassin のロックファイルが複数生成されたり、ロックファイルが消去されなかったためと考えられる。
ベイジリアンフィルタのデータベースについては原因が良く分からない。
とりあえず、fetchmail は手動でメールを取り込む。
$ fetchmail -F
発症したらロックファイル消去とデータベースの再構築をする。
だんだんと発症間隔は開いてきているが、それでも根本的な解決には至らない。
SpamAssassin の最新版は Perl-5.8系 以上が必要で、鯖の FreeBSD-4-STABLE での標準が Perl-5.0系であるためか....。
一応、前々から Perl のバージョンを ports で上げてあるけどね。
それか、今まで5分おきに cron で fetchmail を起動していて、メール取り込み中に別のプロセスの fetchmail が起動してしまい、エラーになることが多かったからか....。
でも cron の間隔を 10 分にしたり 30 分にしたりして、プロセスの重複を防いでも発症する。
なんでだろー。マシンの能力が貧弱だからかなぁ。
別に用意している能力の高いパソコンに、FreeBSD-5-STABLE に入れて引越ししたら納まるのかなぁ...。
今日の動画鑑賞
ドラマ
救命病棟24時
みんな昔は子供だった
87%・私の5年生存率