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.
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:
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, sortvà wcđể có được số liệu thống kê khác.
^[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.
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
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.