Quel est l'équivalent postfix sendmail -bp
?
Quel est l'équivalent postfix sendmail -bp
?
Réponses:
postqueue -p
qshape actif
vous montrera le nombre de courriels envoyés à chaque domaine et combien de temps ils sont dans la file d'attente active
qshape différée
vous montrera la même chose mais pour la file d'attente différée
Voici ce que j’utilise, tiré de la liste de diffusion postfix. J'ai enlevé le nom de l'auteur, au cas où il ne le voudrait pas ici (vous pouvez le voir à la source). Il affiche uniquement les totaux.
#!/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: Correction d'une faute de frappe sur la ligne 26.
count
fonction. Il échouera dans Postfix 2.9+ lorsque enable_long_queue_ids = yes '. Je pense qu'il ne devrait pas être trop difficile de le réparer pour les identifiants de longue file d'attente.
postqueue -p | tail -n 1
La dernière ligne de la postqueue -p
montre le nombre de requêtes et leur taille:
-- 317788 Kbytes in 11860 Requests.
[root @ server ~] # time mailq | grep -c '^ [0-9A-Z]'
dix
real 0m1.333s
utilisateur 0m0.003s
sys 0m0.003s
(résultat ci-dessus indiquant qu'il y a 10 emails en file d'attente)
Si vous n'en avez pas, qshape
vous pouvez l'installer via les commandes yum suivantes:
yum groupinstall perl development
yum install postfix-perl-scripts
qshape imprime des informations sur la répartition par âge et le domaine de la file d'attente Postfix. Vous pouvez en lire plus à ce sujet ici:
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
Voici un exemple.
#!/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