SEP Sesam Check

Lokaler Check, kopieren nach: /usr/lib/check_mk_agent/local/sesam

#!/bin/bash
#
# 08/2011 Matthias Henze
# Lizenz: GPL v2
#
# Check für SEP Sesam auf Basis des "prot" des Vortages


read_ini()
{
  source `grep -i '^sm_ini=' /etc/sesam2000.ini|cut -d"=" -f2` 2>/dev/null
}
read_ini
source ${gv_rw_ini}/sesam2000.profile > /dev/null 2>&1

F=`ls -tr $gv_rw_prot/*.status | tail -n2 | head -n1`

STATUS=0
TEXT=""

while read S N
do
	if [ "*${TEXT}*" != "**" ]; then
		TEXT=$TEXT", "
	fi
	case "$S" in
	  0) # erfolgreich
		TEXT=$TEXT"OK:"$N
		;;
	  1) # erfolgrich mir warnung
		if [ $STATUS -lt 1 ]; then
			STATUS=1
		fi
		TEXT=$TEXT"WARN:"$N
		;;
	  2) # listing unvollstänig
		if [ $STATUS -lt 2 ]; then
			STATUS=2
		fi
		TEXT=$TEXT"INCOMP:"$N
		;;
	  3) # abgebrochen
		if [ $STATUS -lt 2 ]; then
			STATUS=2
		fi
		TEXT=$TEXT"ABBORT:"$N
		;;
	  c) # abbruch durch benutzer
		if [ $STATUS -lt 2 ]; then
			STATUS=2
		fi
		TEXT=$TEXT"USER:"$N
		;;
	  X) # fataler fehler
		if [ $STATUS -lt 2 ]; then
			STATUS=2
		fi
		TEXT=$TEXT"FATAL:"$N
		;;
	  *) # gibt es nicht
		STATUS=3
		TEXT=$TEXT"UNKNOWN:"$N
		;;
	esac
done < <( cat $F | egrep -v "^Start|^-----" | cut -d " " -f 1,2 )

echo $STATUS" SEP-Sesam - Day:"`grep "^Start" $F | cut -d " " -f 7,8,9`", "$TEXT