File: //usr/lib64/nagios/plugins/check_a2_vz7-ikvm_backup.sh
#!/bin/bash
#
# Monitoring check script to list data obtained via
# /etc/cron.d/a2-kvm-virtualizor-backups-check
# - will alert if the data file is older than 1 day
#
_data_file="/opt/vzbackups/cache/monitoring.data"
_verify() {
# Default exit code is OK
exit_code=0
status_msg="OK - All backups are fine"
# Read through the file and determine severity
while IFS= read -r line; do
case "$line" in
*" CRIT"*)
exit_code=2
status_msg="CRITICAL - Backup issues detected, check ${_data_file}!"
;;
*" disabled"*)
if [[ $exit_code -lt 1 ]]; then
exit_code=1
status_msg="WARNING - Some backups are disabled, check ${_data_file}"
fi
;;
esac
done < "${_data_file}"
echo "${exit_code} kvm_backup_CHECK - ${status_msg}"
exit ${exit_code}
}
if [ -s "${_data_file}" ]; then
if /usr/bin/find "${_data_file}" -mtime +1 | grep -q data; then
echo "kvm_backup_CHECK - CRIT - data file is too old, please check"
cat "${_data_file}"
exit 2
else
echo "0 kvm_backup_CHECK - OK - data file is OK"
_verify
fi
else
echo "kvm_backup_CHECK - CRIT - data file is empty, please check"
exit 2
fi