Bagaimana cara menghitung pesan dari mailq Postfix?


10

Bagaimana saya bisa mendapatkan jumlah pesan di mailq Postfix? mailqperintah menampilkan seluruh email di mailq tetapi saya ingin tahu hanya menghitung. Apakah ada perintah untuk ini. OS saya adalah centos 5.5.

Jawaban:


20

Saya menggunakan ini:

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

Anda dapat menyalurkan output mailqmelalui berbagai filter lain seperti uniq, sortdan wcuntuk mendapatkan statistik lainnya.


Ini tidak akurat. Ketika antrian Postfix kosong, lalu jalankan 'mailq', kita akan mendapatkan "Antrian mail kosong" yang juga cocok dengan "^ [0-9A-Z]". Dan dalam situasi seperti itu tidak akurat.
andy

1
Regex yang lebih baik adalah ^[A-F0-9]yang menghasilkan 0 dengan benar ketika antrian email kosong. Saya sudah mengedit jawabannya.
Ladadadada

Sungguh konyol, baris terakhir dari output adalah hitungan
Geoffrey

16

salah satu mailq | tail -n 1ataufind /var/spool/postfix/deferred -type f | wc -l

keduanya bekerja


1
Saya mendapatkan "682430 Kbytes dalam 26472 Permintaan." untuk yang pertama dan "23" untuk yang kedua.
merampok

0

Pipa ouput ke wc, jika diperlukan penyulingan lebih lanjut, gunakan grep.


0

saya menggunakan

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

tampaknya lebih cepat daripada grep tetapi tidak ada 0 pengembalian


0

Saya menggunakan:

mailq | grep -c "^ $"

Ini pada dasarnya sama dengan jawaban @ Ladadadada tentang:

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

Kecuali saya hanya mencari baris kosong yang mengikuti setiap entri pesan di log mailq, daripada sesuatu yang tampak seperti awal dari ID-pesan yang valid. Oleh karena itu lebih baik dari segi kinerja, meskipun perbedaannya hanya terlihat pada ukuran log mailq yang sangat tipikal.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.