#!/bin/bash

HOST1=192.168.178.31
HOST2=192.168.178.23
HOST3=192.168.178.21
HOST4=192.168.178.25
HOST5=192.168.178.22


_exit () {
   case $1 in
      1) echo "Kein Shutdown - Mindestens einer der PCs ist eingeschaltet" ;;
      2) echo "Kein PC online - Shutdown" ; shutdown -p now ;;
   esac
   exit $1;
}

# Checken ob PC's an sind
if [ `ping -c 1 -i 1 $HOST1 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST2 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST3 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST4 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST5 | grep -wc 100.0%` -eq 0 ] ; then _exit 1;

       
        # Wenn kein PC an ist, 10 sec warten falls gerade einer Neu startet
        else
                echo "Kein PC online - Warte 90 Sekunden"
                sleep 90

        # noch mal PC's checken
        if [ `ping -c 1 -i 1 $HOST1 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST2 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST3 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST4 | grep -wc 100.0%` -eq 0 ] || [ `ping -c 1 -i 1 $HOST5 | grep -wc 100.0%` -eq 0 ] ; then _exit 1;
       
   
        # Wenn kein PC an ist, gehe zu exit case 2 (Shutdown)
        else
                _exit 2
        fi
fi