Nagios plugins: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 148: Zeile 148:
 
exit $ERR
 
exit $ERR
 
</pre>
 
</pre>
 +
==Vorraussetzungen für check_backup==

Version vom 12. August 2014, 14:21 Uhr

check_host

#!/bin/bash
WAIT="-w 1"
while getopts H:w: opt
do
   case $opt in
       w)
        WAIT="-w $OPTARG"
        ;;
       H)
        HOST="$OPTARG"
        ;;
   esac
done

if ! test -z "$HOST"
then
 if ping $WAIT -c 1 -q $HOST > /dev/null
  then
   echo "$HOST OK"
   exit 0 
  else
   echo "$HOST FAILED"
   exit 2
 fi
else
echo "$HOST PARAMETER MISSING"
exit 3
fi

check_port

#!/bin/bash
while getopts H:p: opt
do
   case $opt in
       p)
        PORT="$OPTARG"
        ;;
       H)
        HOST="$OPTARG"
        ;;
   esac
done

if ! test -z "$HOST" && ! test -z "$PORT"
then    
        if  nc -w1 -z $HOST $PORT
                then            
                echo "$HOST OK"
                exit 0
                else
                echo "$HOST FAILED"
                exit 2
        fi
else
        if test -z "$HOST"
        then
        echo "HOSTNAME FEHLT"
        exit 3
        else
        echo "PORT FEHLT"
        exit 3
        fi
fi

check_proxy

#!/bin/bash
#Hier standardproxy eintragen:
PROXY="XXX.XXX.XXX.XXX:3128"

while getopts P:U: opt
do
   case $opt in
       P)
        PROXY="$OPTARG"
        ;;
       U)
        URL="$OPTARG"
        ;;
   esac
done

if ! test -z "$URL"; then
        export http_proxy="$PROXY"
        if wget -t 1 -q $URL; then
             echo "$URL OK"
             exit 0
         else
             echo "$URL FAILED"
             exit 2
         fi
else
echo "$URL PARAMETER MISSING"
echo "SYNTAX: -P PROXY:PORT -U URL"
exit 3
fi

check_backup

#!/bin/bash

test "$#" -lt 1 &&  { echo "no option found" ; exit 2 ; }
function isanumber()
{
WERT=$(echo $1 | grep "^[0-9]\+$")
if [ "x$WERT" != "x" ]
then
return 0
else
return 1
fi
}
while getopts h:b: opt
do
   case $opt in
       #b) echo "Option b";;
       h) HOURS=$OPTARG;;
       b) BACKUP=$OPTARG;;
        ?) echo "USAGE: $0 -h HOURS -b BACKUP"; exit 2 ;;
   esac
done
isanumber $HOURS || { echo "HOUR must be a INTEGER" ; exit 2 ; }
test -d $BACKUP || { echo "no backup dir found" ; exit 2 ; }
DAT=$(ls -rt $BACKUP/* | tail -1)
DATHOURS=$(($(stat -c %X $DAT)/3600))
NOW=$(($(date "+%s")/3600))
DIFF=$(($NOW - $DATHOURS))
NEXT=$(($HOURS - $DIFF))
OVER=$(($DIFF - $HOURS))
test $DIFF -gt $HOURS && { echo "backup is missing since $OVER h" ; exit 2 ;}
BASE=$(basename $DAT)
MES=$(echo $BASE | cut -f 1 -d .)
ERR=$(echo $BASE | cut -f 2 -d .)
if test "$ERR" -eq "0"
then
FLAG="is ok - next in $NEXT h"
else
FLAG="is not ok"
fi
#echo "BACKUP from $MES $FLAG" 
echo "BACKUP $FLAG" 
exit $ERR

Vorraussetzungen für check_backup