Automatischer Shutdown

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
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

Wake On Lan
Thread im deutschen Teil der Gentoo Foren zum Thema

Verbesserungsvorschläge zum Script bitte in die Diskussion oder ins Forum.


--Misterjack 22:36, 11. Mai 2006 (UTC)

'Persönliche Werkzeuge