Montag, 30. Juni 2008

Postfix Queue: Anzahl der Einträge / Mails ausgeben

Leider kann man bei Postfix anders als in anderen MTAs (zB Exim mit 'exim -bpc') die Anzahl der Mails in der Mailqueue nicht direkt über das Programm ausgeben lassen. Zwar gibt es den Befehl "mailq", aber der wiederum hat den Nachteil, dass dann auch alle Mails einmal aufgelistet werden. Wenn man nur die Anzahl der Mails in der Queue haben will, dauert das manchmal zu lange.

Man kann sich allerdings etwas behelfen, wenn man weiß, wie und wo die Mails abgelegt werden, wenn sie in der Warteschlange warten. Bei Postfix ist jede Email eine Datei in einem der Unterordner von '/var/spool/postfix', also in active, bounce, deferred, incoming oder maildrop. Man kann nun also einfach alle Dateien suchen und die Anzahl ausgeben lassen:

cd /var/spool/postfix; find active bounce deferred incoming maildrop -type f | wc -l
Die Befehlskette wechselt zuerst in das passende verzeichnis und listet dann alle Dateien in den Verzeichnissen auf (find). Diese Ausgabe wird dann durch das Programm "wc" geschleust, welches die Newlines in der Ausgabe zählt. So bekommt man am Ende die Zahl der Mails in der Warteschlange.

1 Kommentar:

Anonym hat gesagt…

Helfen sollte als einfache Alternative auch ein einfaches mailq | egrep '^--'