Exibe o número de mensagens na fila de mensagens do linux

9

Existe um comando simples para descobrir o número atual de mensagens na fila de mensagens do linux? mailq mostra uma lista detalhada, mas não é conveniente para uma rápida visão geral.

Estou usando o Ubuntu e o postfix.

    
por dmp 18.08.2010 / 15:25

4 respostas

24

Se você quiser saber apenas o número de mensagens que estão na fila de espera, o seguinte deverá fornecer uma resposta rápida:

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

Existem três outras filas. Consulte o link para obter detalhes.

    
por 18.08.2010 / 16:12
11

Você pode filtrar a saída e exibir somente a última linha:

mailq | tail -n 1
    
por 18.08.2010 / 15:33
2

Como uma questão relacionada, você também pode obter o número de mensagens em sua caixa de correio 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
    
por 11.07.2011 / 22:03
0

Isso é

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

Boa ideia, mas não funciona se o 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.

    
por 06.04.2018 / 21:28