Was ist das Postfix-Äquivalent zu sendmail -bp
?
Was ist das Postfix-Äquivalent zu sendmail -bp
?
Antworten:
postqueue -p
qform aktiv
zeigt Ihnen die Anzahl der E-Mails an, die an jede Domain gesendet werden, und wie lange sie in der aktiven Warteschlange waren
qform zurückgestellt
zeigt Ihnen das gleiche, aber für die zurückgestellte Warteschlange
Folgendes verwende ich aus der Postfix-Mailingliste. Ich habe den Namen des Autors entfernt, falls er ihn hier nicht haben möchte (Sie können ihn an der Quelle sehen). Es werden nur Summen angezeigt.
#!/usr/bin/env perl
# postfix queue/s size
# author:
# source: http://tech.groups.yahoo.com/group/postfix-users/message/255133
use strict;
use warnings;
use Symbol;
sub count {
my ($dir) = @_;
my $dh = gensym();
my $c = 0;
opendir($dh, $dir) or die "$0: opendir: $dir: $!\n";
while (my $f = readdir($dh)) {
if ($f =~ m{^[A-F0-9]{5,}$}) {
++$c;
} elsif ($f =~ m{^[A-F0-9]$}) {
$c += count("$dir/$f");
}
}
closedir($dh) or die "closedir: $dir: $!\n";
return $c;
}
my $qdir = `postconf -h queue_directory`;
chomp($qdir);
chdir($qdir) or die "$0: chdir: $qdir: $!\n";
printf "Incoming: %d\n", count("incoming");
printf "Active: %d\n", count("active");
printf "Deferred: %d\n", count("deferred");
printf "Bounced: %d\n", count("bounce");
printf "Hold: %d\n", count("hold");
printf "Corrupt: %d\n", count("corrupt");
BEARBEITEN: Ein Tippfehler in Zeile 26 wurde behoben.
count
Funktionen. In Postfix 2.9+ schlägt dies fehl, wenn enable_long_queue_ids = yes '. Ich denke, es sollte nicht zu schwer sein, es für lange Warteschlangen-IDs zu beheben.
postqueue -p | tail -n 1
Letzte Zeile in der postqueue -p
zeigt, wie viele Anfragen und Größe:
-- 317788 Kbytes in 11860 Requests.
[root @ server ~] # time mailq | grep -c '^ [0-9A-Z]'
10
echte 0m1.333s
Benutzer 0m0.003s
sys 0m0.003s
(Das obige Ergebnis zeigt an, dass 10 E-Mails in der Warteschlange stehen)
Wenn Sie es nicht haben qshape
, können Sie es mit den folgenden yum-Befehlen installieren:
yum groupinstall perl development
yum install postfix-perl-scripts
qshape druckt Informationen zur Postfix-Warteschlange und zur Altersverteilung. Hier können Sie mehr darüber lesen:
http://www.postfix.org/QSHAPE_README.html
% qshape -s hold | head
T 5 10 20 40 80 160 320 640 1280 1280+
TOTAL 486 0 0 1 0 0 2 4 20 40 419
yahoo.com 14 0 0 1 0 0 0 0 1 0 12
extremepricecuts.net 13 0 0 0 0 0 0 0 2 0 11
ms35.hinet.net 12 0 0 0 0 0 0 0 0 1 11
winnersdaily.net 12 0 0 0 0 0 0 0 2 0 10
hotmail.com 11 0 0 0 0 0 0 0 0 1 10
worldnet.fr 6 0 0 0 0 0 0 0 0 0 6
ms41.hinet.net 6 0 0 0 0 0 0 0 0 0 6
osn.de 5 0 0 0 0 0 1 0 0 0 4
Hier ist ein Beispiel.
#!/bin/bash
for q in active bounce corrupt defer deferred flush hold incoming maildrop pid private public saved trace
do
count=$(find /var/spool/postfix/$q ! -type d -print | wc -l)
echo $q $count
done