scripts/qmail-qstat-check
author Tomas Zeman <tzeman@volny.cz>
Fri, 30 Aug 2013 10:45:44 +0200
changeset 28 7cccb5cf738b
parent 6 283c9818387c
permissions -rwxr-xr-x
conf/openssl.conf: certificate expiration checks
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     1
#!/bin/sh
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     2
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     3
# Check of qmail queue.
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     4
# Invocation:
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     5
# qmail-qstat-check <stat>
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     6
#	where stat is one of:
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     7
#		total
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     8
#		unprocessed
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
     9
#
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    10
# Put following into /etc/sudoers:
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    11
# zabbix  ALL=(ALL) NOPASSWD: /var/qmail/bin/qmail-qstat
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    12
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    13
DIR="/tmp/zabbix"
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    14
REPORT=qstat
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    15
QSTAT="sudo /var/qmail/bin/qmail-qstat"
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    16
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    17
[ -d $DIR ] || mkdir -p $DIR
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    18
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    19
F=$DIR/$REPORT
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    20
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    21
find $DIR -name $REPORT -mmin +10 -exec rm '{}' \;
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    22
if [ ! -f $F ]; then
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    23
	$QSTAT > $F.tmp || exit 1
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    24
	mv $F.tmp $F
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    25
fi
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    26
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    27
if [ "x$1" = "xtotal" ]; then
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    28
	head -1 $F | cut -d' ' -f4
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    29
fi
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    30
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    31
if [ "x$1" = "xunprocessed" ]; then
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    32
	tail -1 $F | cut -d' ' -f8
283c9818387c Qmail queue check
"Tomas Zeman <tzeman@volny.cz>"
parents:
diff changeset
    33
fi