Come contare i messaggi di mailq di Postfix?


10

Come posso ottenere il numero di messaggi contati nella posta di Postfix? mailqcomando visualizza intere mail in mailq ma vorrei sapere solo count . C'è qualche comando per questo. Il mio sistema operativo è centos 5.5.

Risposte:


20

Lo uso questo:

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

È possibile reindirizzare l'output mailqattraverso vari altri filtri come uniq, sorte wcper ottenere altre statistiche.


Questo non è accurato Quando la coda Postfix è vuota, quindi eseguiamo 'mailq', otterremo "La coda di posta è vuota" che corrisponde anche a "^ [0-9A-Z]". E in una situazione del genere non è preciso.
Andy,

1
Una regex migliore è ^[A-F0-9]che risulta correttamente 0 quando la coda di posta è vuota. Ho modificato la risposta.
Ladadadada,

Che sciocca, l'ultima riga dell'output è il conteggio
Geoffrey il

16

o mailq | tail -n 1oppurefind /var/spool/postfix/deferred -type f | wc -l

entrambi funzionano


1
Ottengo "682430 Kbyte nelle richieste 26472". per il primo e "23" per il secondo.
rapina il

0

Convogliare l'uscita al wc, se è necessaria un'ulteriore raffinazione, utilizzare grep.


0

Io uso

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

sembra più veloce di grep ma non restituisce 0


0

Io uso:

mailq | grep -c "^ $"

Questo è essenzialmente lo stesso della risposta di @ Ladadadada di:

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

Tranne che sto solo cercando le righe vuote che seguono ogni voce del messaggio nel registro di mailq, piuttosto che qualcosa che assomigli all'inizio di un ID messaggio valido. È quindi migliore dal punto di vista delle prestazioni, sebbene la differenza sia evidente solo per dimensioni di log mailq molto tipiche.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.