がらくたネット

アフィリエイト広告を利用しています


メールキュー

メールキュー

メールキューの数え方

postfix

/usr/sbin/postqueue -p | tail -n 1 | cut -d ' ' -f 5
キューがなければ、NULL(何もなし)が出力されるので
queue=`postqueue -p | tail -n 1 |cut -d ' ' -f 5`
if [ -z ${queue} ]; then queue=0; fi
echo $queue
こんな風にして0を設定する

sendmail

mailq | tail -n 1 | cut -d ' ' -f 3
キューがなければ0となる

qmail

/var/qmail/bin/qmail-qstat | tail -n 2 | head -n 1 | cut -d ' ' -f 4
qmail-qstatまでのパスが異なる場合があるので
こんな風にしとけばよいかな
#!/bin/bash
QMAIL_STAT="/var/qmail/bin/qmail-qstat"
queue=`${QMAIL_STAT} | tail -n 2 | head -n 1| cut -d ' ' -f 4`
echo ${queue}

SNMP

メールキューの数え方がわかったらそれをスクリプトファイルにしてサーバに保存する。 保存したファイルを元にsnmpd.confのexec行に追加する

postfix-queueとした場合
echo "exec mailqueue /opt/renbird/postfix-queue" >> /etc/snmp/snmpd.conf

snmpを再起動した後、execで読み取ることが可能
execはOID .1.3.6.1.4.1.2021.8となる

snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.8.1.101.1
UCD-SNMP-MIB::extOutput.1 = STRING: 0