Назад | Перейти на главную страницу

Отображение количества сообщений в очереди почты linux

Есть ли простая команда, чтобы узнать текущее количество сообщений в очереди почты Linux? mailq выводит подробный список, но это неудобно для быстрого обзора.

Я использую Ubuntu и postfix.

Если вы просто хотите узнать количество сообщений, находящихся в отложенной очереди, то следующий ответ должен дать вам быстрый ответ:

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

Есть еще три очереди. Видеть http://www.porcupine.org/postfix/queueing.html для подробностей.

Вы можете отфильтровать вывод и отобразить только последнюю строку:

mailq | tail -n 1

Кроме того, вы также можете получить количество сообщений в вашем почтовом ящике, хранящихся в формате mbox, изменив предложение Брайана Шоуолтера с помощью команды «mail --headers». Например, в моем файле .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 не запущен как root. Итак, я использовал это

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

для моего собственного UserParameter.