लिनक्स मेल कतार में संदेशों की संख्या प्रदर्शित करें


12

क्या लिनक्स मेल कतार में संदेशों की वर्तमान संख्या का पता लगाने के लिए एक सरल कमांड है? mailqएक क्रिया सूची को बाहर निकालता है, लेकिन यह त्वरित अवलोकन के लिए सुविधाजनक नहीं है।

मैं उबंटू और पोस्टफिक्स का उपयोग कर रहा हूं।


1
आप किस मेल ट्रांसफर एजेंट का उपयोग कर रहे हैं?
बार्ट सिल्वरस्ट्रिम

जैसे बार्ट ने कहा, हमें बताएं कि एमटीए आप किसका उपयोग कर रहे हैं ताकि हम आपको अधिक विशिष्ट और सही दृष्टिकोण दे सकें।
प्रिक्स

भेजना, क्षमा करना।
DMP

यकीन है कि यह 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दो कतारें हैं और उपसर्ग का उपयोग नहीं करते हैं।
जीरोन विएर्ट प्लिमर्स

13

आप आउटपुट को फ़िल्टर कर सकते हैं और केवल अंतिम पंक्ति प्रदर्शित कर सकते हैं:

mailq | tail -n 1

2
यह एक अच्छा विचार है, लेकिन कतार बड़े पैमाने पर है, इसलिए परिणाम वापस आने में लंबा समय लगता है। कुछ भी तेज ..?
dmp

यदि कतार वास्तव में बड़े पैमाने पर है, तो एक और मुद्दा हो सकता है (जब तक कि आप एक आईएसपी या मेल होस्टिंग सेवा नहीं हो)। आपके पास इतना बड़ा बैकअप नहीं होना चाहिए कि आपको इन परिणामों के लिए कुछ मिनट इंतजार करना पड़े ...?
बार्ट सिल्वरस्ट्रिम

मुझे यकीन है कि एक और मुद्दा है, लेकिन यह एक और सवाल में आ जाएगा;)
dmp

3

संबंधित विषय के रूप में, आप अपने मेलबॉक्‍स में संदेशों की संख्‍या को "मेल - हेडर" का उपयोग करके ब्रायन शॉल्‍टर के सुझाव को संशोधित करके mbox प्रारूप में संग्रहीत कर सकते हैं। उदाहरण के लिए, मेरे पास मेरी .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- एजेंट रूट के रूप में नहीं चलता है। इसलिए मैंने इसका इस्तेमाल किया

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

अपने खुद के UserParameter के लिए।

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