Comment compter les messages du mailq de Postfix?

10

Comment puis-je obtenir le nombre de messages dans le mailq de Postfix? mailqLa commande affiche des courriers entiers dans mailq mais je voudrais savoir seulement compter. Y a-t-il une commande pour cela. Mon OS est centos 5.5.

Sai Ye Yan Naing Aye
la source

Réponses:

20

J'utilise ceci:

mailq | grep -c "^[A-F0-9]"

Vous pouvez diriger la sortie mailqpar divers autres filtres tels que uniq, sortet wcd'obtenir d' autres statistiques.

Ladadadada
la source
Ce n'est pas exact. Lorsque la file d'attente Postfix est vide, puis exécutez 'mailq', nous obtiendrons "La file d'attente de courrier est vide" qui correspond également à "^ [0-9A-Z]". Et dans une telle situation, ce n'est pas exact.
andy
1
Une meilleure expression régulière est ^[A-F0-9]qui se traduit correctement par 0 lorsque la file d'attente de messagerie est vide. J'ai édité la réponse.
Ladadadada
Quelle bêtise, la dernière ligne de la sortie est le décompte
Geoffrey
16

soit mailq | tail -n 1oufind /var/spool/postfix/deferred -type f | wc -l

les deux œuvres

rejouer
la source
1
J'obtiens "682430 kilo-octets dans 26472 demandes." pour le premier et "23" pour le second.
voler
0

Dirigez la sortie vers wc, si un raffinement supplémentaire est nécessaire, utilisez grep.

romain
la source
0

j'utilise

/usr/sbin/postqueue -p | /usr/bin/tail -n1 | /usr/bin/gawk '{print $5}'

semble plus rapide que grep mais pas de retour 0

Stavros
la source
0

J'utilise:

mailq | grep -c "^ $"

C'est essentiellement la même chose que la réponse de @ Ladadadada:

mailq | grep -c "^ [A-F0-9]"

Sauf que je cherche juste les lignes vides qui suivent chaque entrée de message dans le journal mailq, plutôt que quelque chose qui ressemble au début d'un ID de message valide. Il est donc meilleur en termes de performances, bien que la différence ne soit perceptible que sur des tailles de journal mailq très typiques.

hiburn8
la source