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.

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.


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ą


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.


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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.