qmailにてキューを削除

投稿者: | 2013年9月22日

【概要】
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」に修正

 

(作業手順)

  1. qmailを停止
    /etc/init.d/qmal stop
  2. qmalが停止したか確認
    ps -ef|grep qmail
  3. qmailがいくつかまだ動いている場合は、しばらく待つかプロセスをkillする。
  4. キューのファイルを削除
    echo /var/qmail/queue/*/*/* | xargs rm -rf
  5. queue-fixを実行
    ./queue-fix
  6. qmailを起動
    /etc/init.d/qmail start

 

qmail停止時に、スパムサーバにずっと握られてしまっているのか、プロセスがなかなか終了せず、killしていたが、これがなかなか面倒。一気にkillするスクリプトをつくるなどして対応。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)