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.
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.
Réponses:
Si vous souhaitez simplement connaître le nombre de messages se trouvant 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.
find /var/spool/mqueue -type f | wc -l
et cela find /var/spool/mqueue-rx -type f | wc -l
car j'ai deux files d'attente et n'utilise pas de suffixe.
Vous pouvez filtrer la sortie et afficher uniquement la dernière ligne:
mailq | tail -n 1
Par ailleurs, vous pouvez également obtenir le nombre de messages de 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
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.