File: //usr/lib64/nagios/plugins/check_a2_mailqueue.mvps.mdedi
#!/bin/bash
# Tries manually restarting dbgov if not running, error after retries hit SYSENG-20225
nagios_cache_file="/var/tmp/$(basename $0)"
nagios_cache_age=900
# cacheage function
nagios_cacheage() {
file=$1
now=$(date +%s)
mtime=$(stat -c %Y "$file")
delta=$(( now - mtime ))
echo $delta
}
nagios_generate_cache() {
threshold=5000
if [ -e /usr/local/cpanel/version ]; then
count=`exim -bpc`
if [ ${count} -gt ${threshold} ]; then
/app/bin/exim_clean.sh >/dev/null
count=`exim -bpc`
fi
elif [ -e /usr/local/psa/version ]; then
count=`mailq | grep -c '^[A-F0-9]'`
fi
if [ ${count} -gt ${threshold} ]; then
echo "mailqueue - ${count} messages in the queue"
echo "exit_code = 2"
else
echo "mailqueue - OK"
echo "exit_code = 0"
fi
}
if [ ! -e "${nagios_cache_file}" ]; then
touch ${nagios_cache_file}
nagios_generate_cache > "${nagios_cache_file}"
else
cache_age=$(nagios_cacheage ${nagios_cache_file})
if [ "${cache_age}" -ge "${nagios_cache_age}" ]; then
nagios_generate_cache > "${nagios_cache_file}"
fi
fi
if [ -s "${nagios_cache_file}" ]; then
cat "${nagios_cache_file}" | grep -v "exit_code = "
if grep -q "exit_code = 0" "${nagios_cache_file}"; then
exit 0
else
exit 2
fi
fi