리눅스 메일 대기열에 메시지 수 표시 대기열에서 현재 메시지 수를 찾는 간단한

리눅스 메일 대기열에서 현재 메시지 수를 찾는 간단한 명령이 있습니까? mailq자세한 목록을 덤프하지만 빠른 개요에는 편리하지 않습니다.

우분투와 postfix를 사용하고 있습니다.



답변

지연된 큐에있는 메시지 수만 알고 싶다면 다음을 통해 빠른 답변을 얻을 수 있습니다.

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

세 개의 다른 대기열이 있습니다. 자세한 내용은 http://www.porcupine.org/postfix/queueing.html 을 참조하십시오.


답변

출력을 필터링하고 마지막 줄만 표시 할 수 있습니다.

mailq | tail -n 1


답변

관련하여 “mail –headers”명령을 사용하여 Brian Showalter의 제안을 수정하여 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


답변

이것은

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.


답변