Automatischer Shutdown
Aus Gentoo Linux Wiki
| Installationsmethoden • LiveCDs • Kernel & Hardware • Laptops & Notebooks • Portage • System • Netzwerke & Services • X • Software • Anderes • alphabetischer HOWTO Index |
Wenn man zuhause oder in einer Firma tagsüber einen Server betreibt und ihn nachts nicht braucht, ist es energiesparend und Lebensdauerverlängernd diesen automatisch herunterfahren zu lassen, sobald kein Rechner im lokalen Netz läuft.
Um effektiv ein Netz auf Rechner zu überprüfen eignet sich der Portscanner Nmap ab der Version 4.00. Mittels dem Schalter -sP 192.169.0.* prüft nmap sämtliche Rechner im angebenen Netz.
Inhaltsverzeichnis |
[Bearbeiten] Check To Shutdown
Check To Shutdown (Prüfen, ob heruntergefahren werden kann) prüft alle fünf Minuten einmal das komplette Netz. Sobald nur noch ein Rechner erreichbar ist, durchläuft das Bash-Skript noch dreimal, ob alle Rechner aus sind und fährt sich dann herunter.
#!/bin/bash
# Author: misterjack (mr-jack@sodrulz.de)
# Ver: 0.1
# License: GPL-2
# Dependancies: >=nmap-4.00
### config
#which ip-range should be scanned (see man nmap)
iprange=192.168.0.*
#how many checks are necessary to shutdown
checks=3
#time between checks (see man sleep)
time=5m
### do not edit below this line
count=0
while :
do
on=`nmap -sP $iprange | grep "appears to be up" | awk '{print $2}' | wc | awk '{print $1}'`
if [ $on -eq 1 ]; then
count=`expr $count + 1`;
else
count=0;
fi
if [ $count -eq $checks ]; then
shutdown -h now;
fi
sleep $time
done
[Bearbeiten] Installation
Zuerst braucht man nmap, dieses installiert man sich per emerge -av nmap. Und nun das Script:
| Code: Installation des Scripts |
cd /usr/local/sbin wget http://www.misterjack.de/scripts/check_to_shutdown chmod u+x check_to_shutdown echo "sc:2345:once:/usr/local/sbin/check_to_shutdown" >> /etc/inittab |
Nun noch mit telinit Q init dazu bewegen, dass er die inittab auf Änderungen prüft. Dies startet dann auch schon Check To Shutdown.
[Bearbeiten] Konfiguration
Es gibt nicht viel zu konfigurieren, im ersten Teil des Scripts kann man drei Variablen einstellen:
- iprange=192.168.0.*
- gibt den zu scannenden IP-Bereich an
- checks=3
- gibt die Anzahl der Prüfungen an, nach der das Script den Rechner herunterfährt, sollte kein anderer Rechner mehr an sein.
- time=5m
- gibt die Wartezeit zwischen den Durchläufen an. Hier 5 Minuten, es können auch Sekunden (60) oder Stunden (2h) angeben werden.
Aus Konbination von checks und time ergibt sich die Idle-Time bevor der Rechner herunterfährt. Hier 10-14 Minuten.
[Bearbeiten] Automatischer Boot
In jedem modernen Bios kann man eine Startzeit einrichten, zu der der Server hochfahren soll. Außer dieser Möglichkeit und des manuellen Anschaltens empfiehlt sich Wake On Lan.
[Bearbeiten] Siehe auch
Verbesserungsvorschläge zum Script bitte in die Diskussion oder ins Forum.
--Misterjack 22:36, 11. Mai 2006 (UTC)
