Postfix'in mailq mesajlarını nasıl sayabilirim?


10

Postfix'in mailq'inde mesaj sayısını nasıl alabilirim? mailqkomut mailq tüm postaları görüntülemek ama ben sadece sayısını bilmek istiyorum.Bunun için herhangi bir komut var. İşletim sistemim centos 5.5.

Yanıtlar:


20

Bunu kullanıyorum:

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

Sen boru çıkışı olabilir mailqgibi çeşitli diğer filtrelerden uniq, sortve wcdiğer istatistikleri almak.


Bu doğru değil. Postfix kuyruğu boş olduğunda "mailq" komutunu çalıştırdığınızda, "^ [0-9A-Z]" ile de eşleşen "Mail kuyruğu boş" alırız. Ve böyle bir durumda doğru değil.
andy

1
Daha iyi bir normal ifade, ^[A-F0-9]posta kuyruğu boş olduğunda 0 ile doğru sonuçlanır. Cevabı düzenledim.
Ladadadada

Ne kadar aptalca, çıktının son satırı
Geoffrey

16

ya mailq | tail -n 1yafind /var/spool/postfix/deferred -type f | wc -l

her ikisi de çalışır


1
"26472 İstekte 682430 Kbyte" alıyorum. birincisi için "23" ikincisi için.
soymak

0

Çıkışı wc'ye borulayın, daha fazla arıtma gerekiyorsa grep kullanın.


0

kullanırım

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

grep'ten daha hızlı görünüyor ancak 0 döndürme yok


0

Kullanırım:

mailq | grep -c "^ $"

Bu aslında @ Ladadadada'nın yanıtı ile aynıdır:

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

Sadece geçerli bir mesaj kimliğinin başlangıcına benzeyen bir şey yerine mailq günlüğündeki her mesaj girişini takip eden boş satırları arıyorum. Bu nedenle performans açısından daha iyidir, ancak fark sadece çok tipik bir mailq günlük boyutlarında fark edilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.