HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //proc/3233645/root/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