मैं पोस्टफिक्स के मेलक के संदेशों को कैसे गिनूं?


10

मैं पोस्टफ़िक्स के मेलक में संदेशों की संख्या कैसे प्राप्त कर सकता हूं? mailqmailq में कमांड डिसप्ले पूरे मेल करते हैं लेकिन मैं केवल गिनती जानना चाहता हूं। इसके लिए कोई कमांड है। मेरा ओएस सेंटोस 5.5 है।

जवाबों:


20

मैं इसका उपयोग करता हूं:

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

आप पाइप के उत्पादन कर सकते हैं mailqजैसे विभिन्न अन्य फिल्टर के माध्यम से uniq, sortऔर wcअन्य आंकड़े प्राप्त करें।


यह सटीक नहीं है। जब पोस्टफ़िक्स कतार खाली है, तो 'मेलक' चलाएं, हमें "मेल कतार खाली है" मिलेगी, जो "^ [0-9A-Z]" से भी मेल खाती है। और ऐसी स्थिति में यह सही नहीं है।
एंडी

1
एक बेहतर रेगेक्स, ^[A-F0-9]जिसका सही परिणाम 0 होता है जब मेल कतार खाली होती है। मैंने उत्तर संपादित किया है।
लादादादा

कितना मूर्खतापूर्ण, आउटपुट की अंतिम पंक्ति गिनती है
जेफ्री

16

या तो mailq | tail -n 1याfind /var/spool/postfix/deferred -type f | wc -l

दोनों काम करता है


1
मुझे 26472 अनुरोधों में "682430 Kbytes" मिलते हैं। पहले एक के लिए और दूसरे के लिए "23"।
लूट

0

Ouput को wc पर पाइप करें, यदि आगे शोधन की आवश्यकता हो तो grep का उपयोग करें।


0

मैं उपयोग करता हूं

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

grep से तेज लगता है, लेकिन कोई 0 नहीं


0

मैं उपयोग करता हूं:

मेलक | grep -c "^ $"

यह मूल रूप से @ लादादादा के उत्तर के समान है:

मेलक | grep -c "^ [A-F0-9]"

सिवाय मैं सिर्फ खाली लाइनों की तलाश कर रहा हूं जो मेल संदेश में प्रत्येक संदेश प्रविष्टि का अनुसरण करते हैं, बजाय इसके कि कुछ ऐसा हो जो एक मान्य संदेश-आईडी की शुरुआत की तरह दिखता है। इसलिए यह बेहतर प्रदर्शन-वार है, हालांकि यह अंतर केवल बहुत ही विशिष्ट मेलक लॉग आकारों पर ध्यान देने योग्य है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.