【概要】
qmailを運用している時、キューが大量にたまった。
qmailのキュー削除には「qmHandler」の名前を良く聞くが、
これでは対応できず(「./qmHandle -D」でも一切キューが消えない...)、
ファイル操作より削除した時の手順。
【手順】
(事前準備)qmail-fixをダウンロードしコンパイルしておく。
http://www.netmeridian.com/e-huss/queue-fix.tar.gz
※コンパイル時に以下2点注意
・error.hの「extern int errno;」をコメントアウトし、そのすぐ下に「#include <errno.h>」を追加
・conf-ccの「gcc -O2」を「gcc -O2 –include /usr/include/errno.h」に修正
(作業手順)
- qmailを停止
/etc/init.d/qmal stop - qmalが停止したか確認
ps -ef|grep qmail - qmailがいくつかまだ動いている場合は、しばらく待つかプロセスをkillする。
- キューのファイルを削除
echo /var/qmail/queue/*/*/* | xargs rm -rf - queue-fixを実行
./queue-fix - qmailを起動
/etc/init.d/qmail start
qmail停止時に、スパムサーバにずっと握られてしまっているのか、プロセスがなかなか終了せず、killしていたが、これがなかなか面倒。一気にkillするスクリプトをつくるなどして対応。