Logo

Server automatisiert herunterfahren

Wenn der Server im Keller steht und man vergisst, diesen per Fernwartung abzuschalten, ist ein Fußweg angesagt. Oder der Server kann sich eben selbst abschalten.

Folgendes Script wird alle 5 Minuten ausgeführt und schaut nach, ob noch offene Netzwerkverbindungen existieren. Falls nicht, wird ein Marker gesetzt. Wenn bei der nächsten Ausführung wieder keine Netzwerkverbindungen existieren, wird der Server runtergefahren.

dankert@storage:~$ cat /etc/cron.5min/shutdown-on-unused
#!/bin/bash
COUNT_CONN=`netstat -n --tcp|grep ^tcp|wc -l`
MARKER=/var/tmp/no_connections
if [ $COUNT_CONN -eq 0 ]; then
if [ -f $MARKER ]; then
rm $MARKER
shutdown -h +2 "Shutting down in 2 minutes because of no network connections."
else
touch $MARKER
fi
else
# Connections in use
if [ -f $MARKER ]; then
shutdown -c
rm $MARKER
fi
fi

In die Datei /etc/crontab habe ich folgende Zeile ergänzt, damit die Skripte im Verzeichnis /etc/cron.5min= alle 5 Minuten ausgeführt werden.

*/5 *	* * *	root    cd / && run-parts --report /etc/cron.5min


06.12.2018, 23:18
Kommentare:



Mobil:
Diese Seite in der mobil-Version
Was geht:
Bier
IT-News
E-Mail

Projekte:
Content-Management

Valid HTML 4.01!