web-dev-qa-db-fra.com

Afficher le nombre de messages dans la file d'attente de messagerie Linux

Existe-t-il une commande simple pour connaître le nombre actuel de messages dans la file d'attente de messagerie Linux? mailq vide une liste détaillée, mais ce n'est pas pratique pour un aperçu rapide.

J'utilise Ubuntu et postfix.

12
dmp

Si vous souhaitez simplement connaître le nombre de messages placés dans la file d'attente différée, les éléments suivants devraient vous fournir une réponse rapide:

find /var/spool/postfix/deferred -type f | wc -l

Il y a trois autres files d'attente. Voir http://www.porcupine.org/postfix/queueing.html pour plus de détails.

26
Brian Showalter

Vous pouvez filtrer la sortie et afficher uniquement la dernière ligne:

mailq | tail -n 1
14
Martin

De manière connexe, vous pouvez également obtenir le nombre de messages dans votre boîte aux lettres stockés au format mbox, en modifiant la suggestion de Brian Showalter à l'aide de la commande "mail --headers". Par exemple, j'ai cette ligne dans mon fichier .bashrc:

if [ -s /var/mail/$(whoami) ] ; then echo -e "\nYou have $(ls -s -h /var/mail/$(whoami) | cut -d" " -f 1) of mail.  Number of messages: $(mail --file /var/mail/$(whoami) --headers | wc -l) ($(mail --file /var/mail/$(whoami) --headers | sed '/^>* *[0-9]/d' | wc -l) unread)" ; fi
3
Greg Marks

C'est

find /var/spool/postfix/deferred -type f | wc -l

bonne idée, mais cela ne fonctionne pas si mon Zabbix-Agent n'est pas exécuté en tant que root. J'ai donc utilisé ça

NUM=`mailq | grep -E "Requests" | awk '{print $5}'`; if [ -z "$NUM" ]; then echo "0"; else echo $NUM; fi

pour mon propre UserParameter.

1
Mareg