Làm cách nào để tôi đếm các thư của mailq của Postfix?


10

Làm cách nào tôi có thể nhận được số lượng thư được đếm trong mailq của Postfix? mailqlệnh hiển thị toàn bộ thư trong mailq nhưng tôi chỉ muốn biết đếm. Có bất kỳ lệnh nào cho việc này không. Hệ điều hành của tôi là centos 5.5.

Câu trả lời:


20

Tôi sử dụng cái này:

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

Bạn có thể dẫn đầu ra mailqthông qua nhiều bộ lọc khác như uniq, sortwcđể có được số liệu thống kê khác.


Điều này không chính xác. Khi hàng đợi Postfix trống, sau đó chạy 'mailq', chúng tôi sẽ nhận được "Hàng đợi thư trống" cũng khớp với "^ [0-9A-Z]". Và trong tình huống như vậy thì không chính xác.
andy

1
Một regex tốt hơn là ^[A-F0-9]kết quả chính xác bằng 0 khi hàng đợi thư trống. Tôi đã chỉnh sửa câu trả lời.
Ladadadada

Thật ngớ ngẩn, dòng cuối cùng của đầu ra là số đếm
Geoffrey

16

một trong hai mailq | tail -n 1hoặcfind /var/spool/postfix/deferred -type f | wc -l

cả hai công trình


1
Tôi nhận được "682430 Kbyte trong 26472 Yêu cầu." cho cái đầu tiên và "23" cho cái thứ hai.
cướp

0

Đặt ống dẫn đến wc, nếu cần tinh chỉnh thêm, hãy sử dụng grep.


0

tôi sử dụng

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

có vẻ nhanh hơn grep nhưng không trả về 0


0

Tôi sử dụng:

mailq | grep -c "^ $"

Điều này về cơ bản giống như câu trả lời của @ Ladadadada về:

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

Ngoại trừ tôi chỉ tìm kiếm các dòng trống theo sau mỗi mục nhập thư trong nhật ký mailq, chứ không phải là thứ gì đó trông giống như bắt đầu của ID thư hợp lệ. Do đó, nó là hiệu suất tốt hơn, mặc dù sự khác biệt chỉ đáng chú ý trên các kích thước nhật ký mailq rất điển hình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.