Homeserver: Einfach runterfahren
Freitag, 5. Februar 2010
Wenn der Server läuft, bin ich zufrieden. Trotzdem möchte ich ihn ab und an wieder abschalten. Um den Server, auf dem FreeNAS läuft, herunterzufahren, kann man das Webinterface aufrufen und mit einigen Klicks den Server ausschalten. Dafür muss ich aber einen Browser offen haben, die URL zum Webinterface eingeben, meinen Benutzer und Passwort eintragen und dann erst komme ich über das Menü zum Herunterfahren. Nicht sehr bequem.
Ähnlich umständlich ist es sich über die Konsole mit SSH auf dem Server einzuloggen und per shutdown den Server schlafen zu legen. Das ist aber ein guter Ansatz. Ich habe mir ein Shellscript geschrieben, dass einen Rechner mit shutdown herunterfährt. Dazu logge ich mich über SSH mit einem auf dem Server authorisierten Benutzer ein (siehe vorheriger Beitrag) und rufe das Shutdown-Kommando auf. Im Folgenden ein Auschnitt aus dem Shellscript:
# SSH command string SSH_CMD="shutdown -p now" # Pruefe ob Host anpingbar, ansonsten breche ab ping -c 2 $SSH_HOST > /dev/null if [ $? -gt 0 ] ; then echo "Host with IP $SSH_HOST is not reachable." exit else # ### SSH-Aufruf # Ruft auf entferntem Server ein Kommando auf ssh $SSH_USER@$SSH_HOST "$SSH_CMD" fi
Das klappt ja wunderbar! Aber ich müsste trotzdem auf dem Mac jedes Mal das Terminal öffnen und das Script aufrufen. Ich nutze daher den Umweg über ein Applescript. In Mac OS X den Skripteditor öffnen und die folgende Zeile in ein neues Skript einfügen:
do shell script "~/Scripts/host-shutdown.sh user ip"
Ersetzt werden muss natürlich user und ip mit dem Benutzer und der IP-Adresse/URL, welche dem Shellscript übergeben werden sollen. Anschließend kann das Applescript als Programm abgespeichert werden und ist nun wie jede andere Anwendung per Doppelklick ausführbar.
Ich habe mir noch ein Icon erstellt für mein Applescript-Programm und habe es nun im Dock liegen.
Skript: host-shutdown.sh