Como conto as mensagens do mailq do Postfix?

10

Como posso contar o número de mensagens no mailq do Postfix? mailqcomando exibir e-mails inteiros em mailq, mas eu gostaria de saber contar apenas. Existe algum comando para isso. Meu sistema operacional é centos 5.5.

Yan Yan, Sai Ye
fonte

Respostas:

20

Eu uso isso:

mailq | grep -c "^[A-F0-9]"

Você pode canalizar a saída mailqatravés de vários outros filtros, como uniq, sorte wcobter outras estatísticas.

Ladadadada
fonte
Isto não é exato. Quando a fila do Postfix estiver vazia, execute 'mailq', obteremos "A fila do correio está vazia", ​​que também corresponde a "^ [0-9A-Z]". E em tal situação, não é preciso.
andy
1
Um regex melhor é o ^[A-F0-9]que resulta corretamente em 0 quando a fila de emails está vazia. Eu editei a resposta.
Ladadadada
Que bobagem, a última linha da saída é a contagem
Geoffrey
16

um mailq | tail -n 1oufind /var/spool/postfix/deferred -type f | wc -l

ambos os trabalhos

repetição
fonte
1
Recebo "682430 Kbytes em 26472 solicitações". para o primeiro e "23" para o segundo.
rob
0

Canalize a saída para wc, se for necessário refinar mais, use grep.

romano
fonte
0

eu uso

/usr/sbin/postqueue -p | /usr/bin/tail -n1 | /usr/bin/gawk '{print $5}'

parece mais rápido que o grep, mas nenhum 0 retorna

Stavros
fonte
0

Eu uso:

mailq | grep -c "^ $"

É essencialmente o mesmo que a resposta de @ Ladadadada de:

mailq | grep -c "^ [A-F0-9]"

Exceto que estou apenas procurando as linhas vazias que seguem cada entrada de mensagem no log mailq, em vez de algo parecido com o início de um ID de mensagem válido. Portanto, é melhor em termos de desempenho, embora a diferença seja notada apenas em tamanhos de log mailq muito comuns.

hiburn8
fonte