nach dem Umstieg von FreeNAS auf NAS4Free wollte ich mein Script zum automatischen Herunterfahren wieder implementieren.
Folgendes habe ich in die Cron-GUI eingetragen
Befehl: sh /mnt/share/shutdowncheck.sh
Wer: root
Beschreibung: Shutdown Check
Geplante Zeit: alle 15 min
Ausgabe Cron-GUI: cron Job wurde nicht ausgeführt.
Ausgabe LOG: root: Failed to execute cron job 'sh /mnt/share/shutdowncheck.sh'.
Danach habe es mit folgenden Befehlen versucht:
/bin/sh /mnt/share/shutdowncheck.sh root: Failed to execute cron job '/bin/sh /mnt/share/shutdowncheck.sh'.
./mnt/share/shutdowncheck.sh root: Failed to execute cron job '/mnt/share/shutdowncheck.sh'.
/bin/bash /mnt/share/shutdowncheck.sh root: Failed to execute cron job '/bin/bash /mnt/share/shutdowncheck.sh'.
Attribute & Gruppe etc. sollten richtig sein, den ich kann das Script auf der Konsole ausführen.
-rwxrwxrwx 1 root wheel 1128 Jan 18 15:43 shutdowncheck.sh
freenas:/mnt/share# sh shutdowncheck.sh
Kein Shutdown - Mindestens einer der PCs ist eingeschaltet
Hier mal der Script-Code (original von http://www.kadder.de)
Code: Select all
#!/bin/bash
HOST1=192.168.1.1 #IP des ersten PC
HOST2=192.168.1.13 #IP des zweiten PC
ip_range=192.168.1. #Netzadresse des eigenen Netzwerkes ohne den Hostanteil
ip=5 #checke Netz ab IP-Adresse 5
_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 ] ;
then _exit 1; # abbrechen, ein PC läuft
# Wenn kein PC an ist, gehe zu Checken ob PC's im IP-Bereich an sind
else
# Checken ob PC's im IP-Bereich an sind, checke Netz bis Hostanteil 20
while [ $ip -le 20 ]
do
ping -c 1 -i 1 $ip_range$ip #ping mit der zusammengesetzten IP-Adresse aus den o.a. Variablen "ip" und "i"
if [ `ping -c 1 -i 1 $ip_range$ip | grep -wc 100.0%` -eq 0 ] #sobald einer der Hosts auf den ping antwortet, nicht herunterfahren
then _exit 1 #beenden mit exit 1 (kein shutdown)
fi
ip=$(( $ip+1 )) #erhöhe Hostanteil immer um 1
done
_exit 2 # hat kein PC geantwortet, shutdown
fi
Thx
ML

