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.

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.


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


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.


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


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.