Jak liczyć wiadomości z poczty Postfix?

10

Jak mogę uzyskać liczbę wiadomości w poczcie Postfix? mailqpolecenie wyświetla całe maile w mailq, ale chciałbym wiedzieć tylko liczbę. Czy jest na to jakieś polecenie. Mój system operacyjny to centos 5.5.

Sai Ye Yan Naing Aye
źródło

Odpowiedzi:

20

Używam tego:

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

Można Rura wyjście mailqpoprzez różnych innych filtrów, takich jak uniq, sorti wcuzyskać inne statystyki.

Ladadadada
źródło
To nie jest dokładne. Gdy kolejka Postfix jest pusta, a następnie uruchom „mailq”, otrzymamy „Kolejka pocztowa jest pusta”, która również pasuje do „^ [0-9A-Z]”. I w takiej sytuacji nie jest to dokładne.
andy,
1
Lepszym wyrażeniem regularnym jest ^[A-F0-9]poprawne wynikiem 0, gdy kolejka poczty jest pusta. Zredagowałem odpowiedź.
Ladadadada,
Jak głupie, ostatni wiersz wyniku to liczba
Geoffrey
16

albo mailq | tail -n 1albofind /var/spool/postfix/deferred -type f | wc -l

oba działają

powtórna rozgrywka
źródło
1
Otrzymuję komunikat „682430 KB w 26472 żądaniach”. dla pierwszego i „23” dla drugiego.
rab
0

Przeprowadź wyjście do wc, jeśli wymagane jest dalsze udoskonalenie, użyj grep.

rzymski
źródło
0

używam

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

wydaje się szybszy niż grep, ale nie zwraca 0

Stavros
źródło
0

Używam:

mailq | grep -c "^ $"

Jest to zasadniczo to samo, co odpowiedź @ Ladadadada na:

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

Tyle że szukam po prostu pustych linii, które następują po każdej wiadomości w dzienniku mailq, a nie czegoś, co wygląda jak początek prawidłowego identyfikatora wiadomości. Jest zatem lepszy pod względem wydajności, chociaż różnica jest zauważalna tylko w przypadku bardzo typowych rozmiarów dzienników mailq.

hiburn8
źródło