Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

check_saned

Blame
  • check_hostextinfo NaN GiB
    #!/bin/sh
    HOSTEXT=`tempfile`
    HOSTS=`tempfile`
    DIFF=`tempfile`
    MISSING=`tempfile`
    EXTRA=`tempfile`
    
    awk '$1 != "#" { print $1 }' /etc/nagios/hostextinfo.txt \
    | sort > $HOSTEXT
    
    sed -n 's/^[ 	]*host_name[ 	][ 	]*\(.*\)$/\1/p' /etc/nagios/hosts.cfg \
    | sort > $HOSTS
    
    diff -U0 $HOSTS $HOSTEXT > $DIFF
    diffrv=$?
    sed -n -e 1,2d -e 's/^-//p' $DIFF > $MISSING
    sed -n -e 1,2d -e 's/^+//p' $DIFF > $EXTRA
    case $diffrv in
     0) echo OK
        rv=0;;
     1) echo -n CRITICAL - /etc/nagios/hostextinfo.txt: 
        if [ `wc -l < $MISSING` -gt 0 ]
        then
    	echo -n ' 'Add `cat $MISSING`.
        fi
        if [ `wc -l < $EXTRA` -gt 0 ]
        then
    	echo -n ' 'Remove `cat $EXTRA`.
        fi
        echo
        rv=2;;
     *) echo CRITICAL - diff failed
        rv=2;;
    esac
    rm $HOSTEXT $HOSTS $DIFF $MISSING $EXTRA
    exit $rv