Nagios plugins: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Denis (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
| Zeile 101: | Zeile 101: | ||
exit 3 | exit 3 | ||
fi | fi | ||
| + | </pre> | ||
| + | =check_backup= | ||
| + | <pre> | ||
| + | #!/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 | ||
</pre> | </pre> | ||
Version vom 12. August 2014, 14:17 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