qmHandleでキューを管理

インストール

http://qmhandle.sourceforge.net/からソースを取得して、展開。本体はPerlスクリプトなので、適当なパスへコピーしてインストール終了。

設定

qmHandleをエディタで開いて、下の行あたりを自分の環境に合わせる。

 my ($queue) = '/var/qmail/queue/';
 my ($stopqmail) = '/usr/local/bin/svc -d /service/qmail-send';
 my ($startqmail) = '/usr/local/bin/svc -u /service/qmail-send';

使い方

rootユーザで実行する。引数なしで実行すると使えるオプション一覧が表示されるので、それを参考にする。

キューを一括で削除

まずqmailを止める。

 svc -d /service/qmail

キュー情報をテキストファイルで保存する。

 qmHandle -R > que.txt

grepで消したいキューのMessage Idを取り出し、qmHandle -dオプションの文字列を標準出力に出力する。

 cat que.txt |
    grep -B1 "From: XXXX@XXX.jp" |
    grep '^[0-9][0-9]*' |
    sed -e 's/^\([0-9][0-9]*\) .*$/qmHandle -d\1/'

上の出力をテキストファイルにリダイレクトするなどして、シェルスクリプトにし、実行する。数が多いとかなり時間がかかる。

最後にqmailを再開する。

 svc -u /service/qmail

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2007-09-13 (木) 04:07:54