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.

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.


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


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.


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


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.