A cosa equivale il postfix sendmail -bp
?
A cosa equivale il postfix sendmail -bp
?
Risposte:
postqueue -p
qshape attivo
ti mostrerà il numero di email inviate a ciascun dominio e per quanto tempo sono rimaste nella coda attiva
qshape differito
ti mostrerà lo stesso ma per la coda differita
Ecco cosa uso, selezionato dalla mailing list postfix. Ho rimosso il nome dell'autore, nel caso in cui non lo volesse qui (puoi vederlo alla fonte). Visualizza solo i totali.
#!/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");
EDIT: corretto un refuso sulla linea 26.
count
funzione. Fallirà in Postfix 2.9+ quando enable_long_queue_ids = yes '. Penso che non dovrebbe essere troppo difficile correggerlo per ID di coda lunga.
postqueue -p | tail -n 1
L'ultima riga nella postqueue -p
mostra quante richieste e dimensioni:
-- 317788 Kbytes in 11860 Requests.
[root @ server ~] # time mailq | grep -c '^ [0-9A-Z]'
10
0m1.333s reali
utente 0m0.003s
sys 0m0.003s
(sopra il risultato indica che ci sono 10 e-mail in coda)
Se non lo qshape
hai, puoi installarlo tramite i seguenti comandi yum:
yum groupinstall perl development
yum install postfix-perl-scripts
qshape stampa le informazioni sul dominio della coda Postfix e sulla distribuzione dell'età. Puoi leggere di più qui:
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
Ecco un esempio
#!/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