web-dev-qa-db-fra.com

Comment vérifier la taille de la file d'attente postfix?

Quel est le suffixe équivalent à sendmail -bp?

55
Gary Richardson

Ou, moins de frappe:

mailq
67
womble
 q forme active 

vous montrera le nombre d'e-mails envoyés à chaque domaine et depuis combien de temps ils sont dans la file d'attente active

 qshape différé 

vous montrera la même chose mais pour la file d'attente différée

27
Alistair Prestidge
postqueue -p
27
Andrejs Cainikovs

Voici ce que j'utilise, extrait de la liste de diffusion postfix. J'ai supprimé 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 à la ligne 26.

15
mikewaters

postqueue -p | tail -n 1

Dernière ligne dans le postqueue -p indique le nombre de demandes et la taille:

-- 317788 Kbytes in 11860 Requests.

[root @ server ~] # time mailq | grep -c '^ [0-9A-Z]'

dix

réel 0m1,333s

utilisateur 0m0.003s

sys 0m0.003s

(le résultat ci-dessus indique qu'il y a 10 e-mails dans la file d'attente)

5

Si vous n'avez pas qshape, vous pouvez l'installer via les commandes yum suivantes:

yum groupinstall Perl development
yum install postfix-Perl-scripts

qshape imprime le domaine de la file d'attente Postfix et les informations de répartition par âge. Vous pouvez en savoir plus à ce sujet ici:

http://www.postfix.org/QSHAPE_README.html

Exemple de sortie

% 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
5
Brock Hensley

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
2
Doug_Cowie