Existe um comando simples para descobrir o número atual de mensagens na fila de emails linux? mailq
despeja uma lista detalhada, mas não é conveniente para uma visão geral rápida.
Estou usando o Ubuntu e postfix.
Existe um comando simples para descobrir o número atual de mensagens na fila de emails linux? mailq
despeja uma lista detalhada, mas não é conveniente para uma visão geral rápida.
Estou usando o Ubuntu e postfix.
Respostas:
Se você deseja apenas saber o número de mensagens na fila adiada, o seguinte deve fornecer uma resposta rápida:
find /var/spool/postfix/deferred -type f | wc -l
Existem outras três filas. Consulte http://www.porcupine.org/postfix/queueing.html para obter detalhes.
find /var/spool/mqueue -type f | wc -l
e isso find /var/spool/mqueue-rx -type f | wc -l
como eu tenho duas filas e não uso o postfix.
Você pode filtrar a saída e exibir apenas a última linha:
mailq | tail -n 1
Como assunto relacionado, você também pode obter o número de mensagens em sua caixa postal armazenadas no formato mbox, modificando a sugestão de Brian Showalter usando o comando "mail --headers". Por exemplo, eu tenho essa linha no meu arquivo .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
Isto é
find /var/spool/postfix/deferred -type f | wc -l
boa ideia, mas não funcionará se meu Zabbix-Agent não for executado como raiz. Então eu usei isso
NUM=`mailq | grep -E "Requests" | awk '{print $5}'`; if [ -z "$NUM" ]; then echo "0"; else echo $NUM; fi
para o meu próprio UserParameter.