#!/bin/sh
# $Id: check_rsnapshot,v 1.1 2013/10/12 17:47:34 andrew Exp $
. /usr/local/libexec/nagios/utils.sh
grep rsnapshot /var/log/messages | tail -25 | (
STATUS=UNKNOWN
CRITICAL=
UNKNOWN=
while read line; do
if [ "$line" != "${line% Starting snapshot*}" ]; then
STATUS=STARTED
CRITICAL=
WARN=
elif [ "$line" != "${line% Finished snapshot*}" ]; then
if [ $STATUS != 'CRITICAL' ]; then
STATUS=FINISHED
fi
elif [ "$line" != "${line% ERROR*}" ]; then
STATUS=CRITICAL
CRITICAL="$CRITICAL ${line#*]:}
"
elif [ $STATUS != CRITICAL ]; then
STATUS=UNKNOWN
UNKNOWN="$UNKNOWN ${line#*]:}
"
fi
done
if [ $STATUS = "STARTED" -o $STATUS = "FINISHED" ]; then
$ECHO OK
exit $STATE_OK
elif [ $STATUS = UNKNOWN ]; then
$ECHO "UNKNOWN: $UNKNOWN"
exit $STATE_UNKNOWN
else
$ECHO "CRITICAL: $CRITICAL"
exit $STATE_CRITICAL
fi
)