แสดงจำนวนข้อความในคิวเมล linux


12

มีคำสั่งง่ายๆในการค้นหาจำนวนข้อความในคิวจดหมาย linux หรือไม่? mailqดัมพ์รายการ verbose แต่ไม่สะดวกสำหรับภาพรวมอย่างรวดเร็ว

ฉันใช้ Ubuntu และ postfix


1
เอเจนต์การโอนเมลใดที่คุณใช้อยู่
Bart Silverstrim

เช่นบาร์ ธ กล่าวบอกเราว่าคุณใช้ MTA อะไรเพื่อที่เราจะสามารถให้การอนุมัติที่เฉพาะเจาะจงและถูกต้องมากขึ้น
Prix

sendmail ขอโทษ
dmp

แน่นอนว่าเป็น sendmail ไม่ใช่ postfix? เพียงทำให้แน่ใจ ...
Bart Silverstrim

จับดี postfix มันไม่ sendmail
dmp

คำตอบ:


25

หากคุณต้องการทราบจำนวนข้อความที่อยู่ในคิวรอการตัดบัญชีคำตอบต่อไปนี้ควรได้รับคำตอบอย่างรวดเร็ว:

find /var/spool/postfix/deferred -type f | wc -l

มีสามคิวอื่น ๆ ดูhttp://www.porcupine.org/postfix/queueing.htmlสำหรับรายละเอียด


1
ในกรณีของฉันมันเป็นแบบนี้find /var/spool/mqueue -type f | wc -lและนี่find /var/spool/mqueue-rx -type f | wc -lเป็นเพราะฉันมีสองคิวและไม่ใช้ postfix
Jeroen Wiert Pluimers

13

คุณสามารถกรองผลลัพธ์และแสดงเฉพาะบรรทัดสุดท้าย:

mailq | tail -n 1

2
เป็นความคิดที่ดี แต่คิวมีขนาดใหญ่ดังนั้นจึงใช้เวลานานกว่าจะได้ผลลัพธ์ อะไรที่เร็วขึ้น ..
dmp

หากคิวมีขนาดใหญ่มากจริงๆอาจมีปัญหาอื่น (เว้นแต่ว่าคุณเป็นผู้ให้บริการอินเทอร์เน็ตหรือ ISP) คุณไม่ควรมีข้อมูลสำรองมากจนคุณต้องรอสักครู่เพื่อดูผลลัพธ์เหล่านี้ ...
Bart Silverstrim

ฉันแน่ใจว่ามีปัญหาอื่น แต่จะมีอีกคำถาม;)
dmp

3

ในเรื่องที่เกี่ยวข้องคุณสามารถรับข้อความในกล่องจดหมายของคุณที่จัดเก็บในรูปแบบ mbox โดยการแก้ไขคำแนะนำของ Brian Showalter โดยใช้คำสั่ง "mail - header" ตัวอย่างเช่นฉันมีบรรทัดนี้ในไฟล์. bashrc ของฉัน:

if [ -s /var/mail/$(whoami) ] ; then echo -e "\nYou have $(ls -s -h /var/mail/$(whoami) | cut -d" " -f 1) of mail.  Number of messages: $(mail --file /var/mail/$(whoami) --headers | wc -l) ($(mail --file /var/mail/$(whoami) --headers | sed '/^>* *[0-9]/d' | wc -l) unread)" ; fi

1

นี่คือ

find /var/spool/postfix/deferred -type f | wc -l

ความคิดที่ดี แต่มันไม่ได้ผลถ้า Zabbix-Agent ของฉันไม่ได้ทำงานเหมือนราก ดังนั้นฉันจึงใช้สิ่งนี้

NUM=`mailq | grep -E "Requests" | awk '{print $5}'`; if [ -z "$NUM" ]; then echo "0"; else echo $NUM; fi

สำหรับ UserParameter ของฉันเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.