qmailの「/var/qmail/queue/」内を強制削除して不具合が起きたら

qmailの「/var/qmail/queue/」内を強制削除してqmailがおかしくなったあなたへ\r\nそう、私です…大丈夫ですどうにかなります\r\n\r\n今回の内容はqmailでメールキューが溜まってしまった場合の対処方法というよりは…\r\nqmailでメールキューが溜まってしまって、強制的に「/var/qmail/queue/」内を強制削除してしまいおかしくなってしまった場合のメモです\r\n\r\nちゃんとした方法はまた後日、メモしたいと思いますが、\r\n今回はまず強引に強制削除しておかしくなった方へ糸口となれば…という内容です\r\n\r\n前置き 事の発端は…\r\n\r\nメールサーバーは重いですというお問い合わせです\r\nサーバーの容量状況を確認します\r\nまずは「df」コマンドで! -h オプションをつけると適当な単位で表示してくれます\r\n\r\n容量を圧迫していることが確認できれば、次は「du」コマンドで詳細を探っていきましょう\r\nそのまま対象ディレクトリ容量なども確認出来ますが、\r\n下階層すべてが対象となる為、以下のコマンドで検索対象フォルダを限定します\r\nこちらも -h オプションで適当な単位で表示してくれます\r\n\r\ndu -h –max-depth=1 /\r\n\r\nさらにどんどん絞り込んでいきます\r\n\r\ndu -h –max-depth=1 /任意のフォルダ\r\n\r\n今回はmailqあたりが怪しいと踏んでいたので、以下のようになりますね\r\n\r\ndu -h –max-depth=1 /var/qmail/queue/\r\n\r\n※201801追記\r\n 自分の環境だと上記ではどうもうまく出来ないので、以下でフォルダー容量を確認しました。\r\n\r\ndu -hs /var/qmail/queue/\r\n\r\n圧迫している容量を確認して強制削除を行いました\r\nこれは全くもって推奨されていない行為です\r\nでも焦ってやってしまったら…\r\n\r\nさて強制的に削除すると色々と問題が出ます\r\nqmailはメッセージに対して、\r\n/var/qmail/queue/配下に複数のファイルが配置されています\r\n一部を削除すると整合性がなくなります\r\n削除する際は以下を特に気をつけます\r\n\r\nPIDあたりでどのフォルダに関連のファイルがあるか確認しておくことが重要です\r\n\r\n/var/qmail/queue/bounce/\r\n/var/qmail/queue/mess/\r\n/var/qmail/queue/info/\r\n/var/qmail/queue/todo/\r\n\r\n特に「mess、info、todo」あたりは0-22までのフォルダが用意されていて、削除するとおかしなことになります\r\n今回はmess内のフォルダをいくつか削除した為、キューからメールが排出されない現象が起こりました\r\n\r\n原因特定にはやはりログです\r\n\r\n/var/log/maillog\r\n\r\nを確認\r\n\r\nすると 削除したフォルダがない為、処理が出来ない様子\r\n\r\nunable to opendir アクセス出来ないフォルダ , sleeping…\r\n\r\nという感じのログです\r\n焦りましたが、どうにかフォルダを作成して、通常通りの処理に戻りました\r\n\r\n1. まずはqmailを停止\r\n\r\n/etc/init.d/qmail stop\r\n\r\n2. 削除したフォルダの作成\r\n\r\nmkdir /var/qmail/queue/削除したフォルダ\r\n\r\n自分の場合は以下\r\n\r\nmkdir /var/qmail/queue/mess/8\r\n\r\n3. パーミッションや所有者を設定\r\n\r\nパーミッションや所有者を合わせます。\r\n\r\nchmod -R 750 /var/qmail/queue/mess/8\r\nchown -R qmailq:qmail /var/qmail/queue/mess/8\r\n\r\n4. Qmailの起動\r\n\r\n/etc/init.d/qmail start\r\n\r\nキューからメールが排出されるのを確認します\r\n\r\n以上。\r\nもちろん自己責任のもとで作業を行なって下さい。\r\n不具合が起きている方の解決糸口になれればと思いますし、自分も今後同じことを仕出かした場合のメモでした。\r\n\r\n—— 追記 ——\r\n\r\n/var/qmail/queue/内をすべて削除した場合は、以下のフォルダを再構築する必要があるような記事がありましたので今後のためにメモ…\r\nこちらは自分も実際にはすべて確認していないので、慎重に確認して下さい。\r\n\r\n/var/qmail/queue/mess\r\n/var/qmail/queue/info\r\n/var/qmail/queue/intd\r\n/var/qmail/queue/local\r\n/var/qmail/queue/remote\r\n/var/qmail/queue/todo\r\n\r\n所有者や権限も…\r\n\r\nchmod -R 750 mess todo\r\nchown -R qmailq:qmail mess todo\r\n\r\nchmod -R 700 info intd local remote\r\nchown -R qmailq:qmail intd\r\nchown -R qmails:qmail info local remote