index 0f221565e342d4e5c5d9fb17ad89c028ba5f7eb6..8145bba935b60aa0d228058baaddd7af5223023e 100755 (executable)
-#! /bin/sh
+#!/bin/sh
#
# Log file pattern detector plugin for Nagios
# Written by Ethan Galstad (nagios@nagios.org)
PATH=""
ECHO="/bin/echo"
-GREP="/bin/grep"
+GREP="/bin/egrep"
DIFF="/bin/diff"
TAIL="/bin/tail"
CAT="/bin/cat"
RM="/bin/rm"
+CHMOD="/bin/chmod"
+TOUCH="/bin/touch"
PROGNAME=`/bin/basename $0`
PROGPATH=`echo $0 | /bin/sed -e 's,[\\/][^\\/][^\\/]*$,,'`
if [ ! -e $logfile ]; then
$ECHO "Log check error: Log file $logfile does not exist!\n"
exit $STATE_UNKNOWN
+elif [ ! -r $logfile ] ; then
+ $ECHO "Log check error: Log file $logfile is not readable!\n"
+ exit $STATE_UNKNOWN
fi
# If the old log file doesn't exist, this must be the first time
else
tempdiff=`/bin/date '+%H%M%S'`
tempdiff="/tmp/check_log.${tempdiff}"
- /bin/touch $tempdiff
- chmod 600 $tempdiff
+ $TOUCH $tempdiff
+ $CHMOD 600 $tempdiff
fi
$DIFF $logfile $oldlog > $tempdiff
count=`$GREP -c "$query" $tempdiff`
# Get the last matching entry in the diff file
-lastentry=`$GREP "$query" $tempdiff | $TAIL --lines=1`
+lastentry=`$GREP "$query" $tempdiff | $TAIL -1`
$RM -f $tempdiff
$CAT $logfile > $oldlog