Um das zu realisieren muss natürlich ein cron job eingerichtet werden.
Der Code sollte selbst erklärend sein und funktioniert theoretisch in jeder bash shell. Getestet wurde es mit debian 7.0 (testing)
Code:
#! /bin/bash
# Script zum pren ob ein Host online oder offline ist, wenn alle offline sind server aus
COUNTER="0"
NULL="0"
IP="192.168.1.30 192.168.1.31 192.168.1.32 192.168.1.33 "
for IP in $IP;
do
if ping -c 3 $IP >> /dev/null; then
HOST=$(host $IP | cut -d ' ' -f 5- | cut -d '.' -f -1)
date >> offline.txt
echo -e $IP "/" $HOST "ist \033[42m online \033[0m" >> offline.txt
COUNTER=`expr $COUNTER + 1`
else
date >> offline.txt
echo -e $IP "/" $HOST "ist \033[41m offline \033[0m" >> offline.txt
fi;
done;
if let "$COUNTER == $NULL" ; then
/sbin/halt
echo "halt" >> offline.txt
else
echo "Es war noch mindestens 1 host online!" >> offline.txt
fi;
MfG mE






