Postfixのmailqのメッセージをどのようにカウントしますか?


10

Postfixのmailqでメッセージ数を取得するにはどうすればよいですか?mailqコマンドはmailqでメール全体を表示しますが、カウントのみを知りたいです。このためのコマンドはありますか?私のOSはcentos 5.5です。

回答:


20

私はこれを使います:

mailq | grep -c "^[A-F0-9]"

あなたは、パイプの出力できるmailqなど、様々な他のフィルターを通してuniqsortおよびwcその他の統計情報を取得します。


これは正確ではありません。Postfixキューが空の場合、「mailq」を実行すると、「^ [0-9A-Z]」にも一致する「メールキューが空です」が表示されます。そして、そのような状況では、それは正確ではありません。
アンディ2015

1
より良い正規表現は^[A-F0-9]、メールキューが空のときに正しく0になる結果です。回答を編集しました。
Ladadadada

ばかげている、出力の最後の行はカウントです
Geoffrey

16

いずれかmailq | tail -n 1またはfind /var/spool/postfix/deferred -type f | wc -l

両方の作品


1
「26,472リクエストで682430キロバイト」を受け取ります。最初のものは "23"、2つ目は "23"です。
2017

0

出力をwcにパイプします。さらに調整が必要な場合は、grepを使用します。


0

私が使う

/usr/sbin/postqueue -p | /usr/bin/tail -n1 | /usr/bin/gawk '{print $5}'

grepより速いようですが、0は返されません


0

私が使う:

mailq | grep -c "^ $"

これは基本的に@Ladadadadaの回答と同じです。

mailq | grep -c "^ [A-F0-9]"

有効なメッセージIDの開始のように見えるものではなく、mailqログの各メッセージエントリに続く空の行を探しているだけです。したがって、違いは非常に典型的なmailqログサイズでのみ顕著ですが、パフォーマンスに関してはより優れています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.