# Server nach 30 Min Idle Time ausschalten lassen

## LL0rd

Hallo,

nachdem ich meine letzte Stromrechnung bekommen habe, würde ich gerne meinen Homeserver in der Nacht ausschalten lassen. Und zwar soll der Server so ca. 30 Min nach dem letzten Zugriff ausgeschaltet werden. Die Zugriffe können z.B. das Routen in Netzwerktraffic ins Internet sein, Webserver, Samba, MySQL. Also eigentlich alles das, was auf der eth0 eingeht. 

Wie kann ich also die Zugriffe erkennen und wenn eine halbe Stunde lang nichts kommt, den rechner herunterfahren lassen?

----------

## smg

 *LL0rd wrote:*   

> Hallo,
> 
> nachdem ich meine letzte Stromrechnung bekommen habe, würde ich gerne meinen Homeserver in der Nacht ausschalten lassen. Und zwar soll der Server so ca. 30 Min nach dem letzten Zugriff ausgeschaltet werden. Die Zugriffe können z.B. das Routen in Netzwerktraffic ins Internet sein, Webserver, Samba, MySQL. Also eigentlich alles das, was auf der eth0 eingeht. 
> 
> Wie kann ich also die Zugriffe erkennen und wenn eine halbe Stunde lang nichts kommt, den rechner herunterfahren lassen?

 

Das verstehe ich nicht. Ein Server sollte doch _immer_ online sein oder nicht?

Bye.

----------

## LL0rd

 *smg wrote:*   

> 
> 
> Ein Server sollte doch _immer_ online sein oder nicht?
> 
> 

 

Wieso sollte ein Server auch dann online sein, wenn man diesen nicht braucht? Die Kiste schluckt satte 250 Watt.

----------

## smg

Achso! WIllst du ihn automatisch reaktivieren, falls er gebraucht wird? 

Bye bye.

----------

## LL0rd

Naja, man kann den Server ja mit ACPI automatisch booten lassen. Also ich möchte das gerne so machen. Gegen 12-1 mache ich alle meine Rechner aus, ist im Netz sonnst nichts los, soll der Server 30 min später heruntergefahren werden. Um 7 Uhr morgens soll der Rechner wieder automatisch durchstarten.

----------

## misterjack

alternativ lässte von deinem arbeitsrechner nen magic-paket los beim booten, sprich du weckst den server mittels WOL auf.

----------

## LL0rd

Ja, da habe ich auch schon dran gedacht. Das könnte ich auch einbauen, wenn ich den Server früher brauche

----------

## monophase

250 Watt???

Was ist denn das fürn kranker Homeserver? Das schafft ja nicht mal mein xp3200 mit 4 HDD's drin. Der bringts in Spitzenzeiten grad mal auf 190-200 Watt.

Vielleicht solltest du mal deine Hardware Strategie überdenken.

----------

## amne

Du könntest dir ein kleines Skript schreiben, dass alle paar Minuten die Clients im Netzwerk pingt - wenn für ein paar Minuten keiner mehr antwortet fährt der Rechner runter.

----------

## doedel

das mit den 250 ist wahrscheinlich so gemeint, dass ein 250er nt drin ist, ziehen tut ein pc das meistens nicht.

aber das mit dem idle-dann aus würd mich auch interessieren.

//edit: da war wohl einer schneller.......

wie würd ich das mit der wartezeit im script hinbekommen?

----------

## LL0rd

Also ich habe mir mal von OBI so ein Strommessding ausgeliehen und das hat bei dem Server eine Leistung von etwa 250 Watt angezeigt. Die Kiste ist ein Athlon 2600+ mit 2GB Ram, 6 Festplatten, ein 3ware Raid Controller, 2 PCI Netzwerkkarten +eine on Board, eine TV Karte, GF6600 GT, (DVD Brenner). Die Kiste hat ein 500 Watt Netzteil.

Das mit dem anpingen ist eine gute Idee. Ich glaube, da werde ich mal was schreiben.

----------

## smg

Ähm für was braucht nen Server solch eine Grafikkarte? Vorallem ne TV Karte ist ungewöhnlich, die würde ich erstmal ausbauen um Strom zu sparen..

Bye.

----------

## LL0rd

Den Server nutze ich z.T. auch als Videorecorder. Der Server wirft sein Bild auf einem LCD Bildschirm aus, dementsprechend ist es auch sehr Eyecandy.

----------

## think4urs11

evtl. wärs dann billigier und/oder sinnvoller sich einen alten sparsamen Pentium I/II/III zu besorgen und den zum File&Printserver zu erheben.

ACPI auf einem Server ist irgendwie 'ich weiß ja ned'.

Dann kannst du deine Monsterkiste (im Vergleich zu meinen 'Gurken') nur dann aktivieren wenn sie gebraucht wird sprich Videorekorder spielt.

----------

## doedel

also auf meinem p2/266/320mb ram konnte ich mit meiner bt848 und windows98 ohne probleme aufnehmen, nur das mit dem plattenplatz.... ab einem athlon 800 oder so dürfte sich auch eine 200er platte "hinein bios-(update)-en" lassen, wenn das überhaupt nötig ist.

(den athlon kannst dann mir geben  :Very Happy:  )

----------

## LL0rd

Die Platen des Servers sind verschlüsselt, dafür wird die Rechenpower gebraucht

----------

## think4urs11

dann schnapp dir doch (sofern der Geldbeutel das zuläßt, ca. 200) ein Mini-ITX Board mit einem VIA C3 Nehemiah.

Die können verschlüsseln in Hardware und das *sehr* schnell. Und sehr stromsparend sind die Dinger außerdem.

Kuckst du z.B. hier   :Arrow:  http://www.logix.cz/michal/devel/padlock/bench.xp

----------

## LL0rd

Naja, wenn ich auf das Board nur etwas mehr Komponenten installieren könnte....

----------

## think4urs11

was braucht ein F&P-Server denn noch so außer NIC, Platten, ggf. DVD-Brenner für Backups, flottem Proz. für die Verschlüsselung und einer onboard Grafikkarte?

----------

## LL0rd

wer hat denn gesagt, dass es ein F&P Server ist??

----------

## b3cks

Um mal auf das eigentliche Thema zurück zu kommen, auch wenn das Thema "stromsparende Hardware" recht interessant ist.

Tagsüber: Hast du auf dem Rechner denn so Sachen wie PowerManagement aktiviert? Ich bezweifel mal, dass wenn du in der Uni hockst, auf irgendeiner Party oder sonst wo bist, der Server unter "Volllast" laufen muss. Selbst dann nicht, wenn er etwas aufnimmt, würde ich mal tippen.

Nachts: Hier ist die Idee mit dem Script eigentlich ganz gut. Muss man nur beachten, wie man das Script schreibt. Welche Rechner/Notebooks werden angepingt (es bringt dir schließlich nichts, wenn du Rechner A anpingst, welcher nicht an ist und der Server daraufhin runterfährt, du aber mit Notebook A im Wohnzimmer hockst). Dynamische/statische IPs? Wenn dynamisch, funktioniert die Namensauflösung zum pingen einwandfrei? Wann läuft das Script und in welchen Intervallen werden die Clients angepingt? Nicht, dass du spät Abends noch hardwareseitige "Wartungsarbeiten" an deinem PC machst, Notebook ist aus und der Server fährt wieder ungewollt runter. Etc.  :Wink: 

Aufwecken: Die Sache mit WOL ist sicherlicht nett und praktisch. Tools gibt es immerhin für so ziehmlich jedes OS. Es gibt aber auch diverse Motherboard/BIOS-Kombinationen, mit denen es möglich ist den PC zu einem bestimmten Zeitpunkt runter- bzw. hochzufahren. Vorausgesetzt du möchtest den PC immer zu einem bestimmten Zeitpunkt anhaben. Kombinieren, kann man beides natürlich auch: Server an bei WOL oder spätestens um 12 Uhr.

----------

## LL0rd

Naja, der Powermanagement ist z.T. ja per default eingeschaltet, zumindest was die Grafikkarte angeht. Was kann man denn sonnst herunterfahren? Ich glaube nicht, dass ich den Takt der CPU herunterfahren kann, oder ein RAM Moduls aushängen kann [wäre doch eine nette Idee für die nächste Notebook Reihe  :Wink: ] Was kann ich sonnst noch runterfahren? Festplatten? Wird wahrscheinlich mit dem Raid Controller nicht funktionieren, oder?

Ansonsten habe ich mir das so vorgestellt: Ab 0 Uhr wird minütlich ein Cronjob ausgeführt, der ein Script startet. Das Script macht folgendes:

Zuerst wird das Netz / die Netze per nmap nach den Rechnern / aktiven Netzwerkkarten durchsucht und mit MAC Adressen aus der vorhandenen Datenbank verglichen. Ist eine MAC Adresse vorhanden (egal ob bekannt oder unbekannt), die nicht auf der Ignore Liste steht, dann wird nichts gemacht. Ist aber keine "wichtige" MAC Adresse vorhanden, dann wird der Counter in einer Datei um 1 erhöht. Ist der Wert > 25, wird ein Shutdown mit einer Verzögerung von 5 min ausgeführt. Kommt in der Zeit ein Rechner wieder ins Netz, dann wird er abgebrochen. (Ich weiß derzeit nicht, ob ich den Server komplett herunterfahren sollte oder in den Suspend[2])

Hat jemand evtl. noch Verbesserungsvorschläge?

----------

## think4urs11

 *LL0rd wrote:*   

> wer hat denn gesagt, dass es ein F&P Server ist??

 

Welche Dienste laufen denn sonst noch auf dem Server? Videorekorder ist erstmal keine Serveranwendung im klassischen Sinn, und selbst diese würde gemäß doedel auf einer wesentlich prozessorschwächeren Maschine auch noch funktionieren.

Was das Platten stoppen angeht ... das könnte schon gehen auch im Raid. Wenn das Raid was zu schreiben hat wird die Platte wieder automatisch angefahren, sollte nichts ausmachen.

Je nachdem wie dein Setup aussieht könntest du vielleicht die Filesysteme so aufteilen das wenig(er) benutzte auf einem extra Raid liegen das dann komplett getrennt vom Rest deaktiviert und dessen Platten angehalten werden kann.

Ansonsten den Prozessor lastabhängig runtertakten wäre noch so eine Idee.

Die Hauptstromfresser in deinem Server sind numal

- Platten

- Prozessor

- Grafikkarte

- TV-Karte

Stell so viele wie möglich davon ab und dein E-Werk mag dich ab diesem Zeitpunkt nicht mehr  :Wink: 

----------

## LL0rd

Wie kann ich denn die Platten, die an einem 3ware Raid Controller hängen, abschalten? Okay, das System ist ein Raid5 mit Hotswap, ich könnte also 2 der 6 Platten rausziehen   :Cool: 

 *Quote:*   

> Welche Dienste laufen denn sonst noch auf dem Server?

 

Also der Server wird genutzt als:

- Router / Firewall / Transparenter Proxy

- Fileserver fürs Netzwerk (verschlüsselte Platten)

- Fax Server

- Asterisk

- OpenVPN Server

- Webserver

- VNC Server (Thunderbird läuft da und Sortiert schonmal vorab Mails)

- Videorekorder

- Presentationrechner -> da an einen LCD Bildschirm angeschlossen

Ich glaube, dass es alles ist  :Wink: 

----------

## think4urs11

 *LL0rd wrote:*   

> Wie kann ich denn die Platten, die an einem 3ware Raid Controller hängen, abschalten? Okay, das System ist ein Raid5 mit Hotswap, ich könnte also 2 der 6 Platten rausziehen  

 

schonmal ein paar Watt weniger  :Wink: 

 *LL0rd wrote:*   

> Also der Server wird genutzt als:
> 
> - Router / Firewall / Transparenter Proxy
> 
> - Fileserver fürs Netzwerk (verschlüsselte Platten)
> ...

 

- Router / Firewall Webserver / Proxy braucht nicht so sehr viel Prozessor, eher Speicher (Proxy/Webserver); für dynamische Inhalte eben etwas mehr Prozessor aber nicht übermäßig

- Fileserver braucht Platten und Proz wg. Verschlüsselung (VIA Padlock)

- Fax braucht Modem/ISDN-Karte, bisserl Plattenplatz und moderat Prozessor, analoges für Asterisk

- OpenVPN braucht Proz. (VIA Padlock)

- VNC-Server braucht am Server keine Monstergrafikkarte, 8 (Präsi-PC) ebenfalls nicht; jede Onboard sollte dazu reichen

- Videorekorder braucht die TV-Karte - könntest du in einen Desktop umziehen.

Ich mein ja nur ... ich seh keine realistische Chance wirklich viel einzusparen außer durch Einsatz eines anderen, sparsameren Boards und Umzug der Rekorderfunktionalität.

----------

## 76062563

Ich benutze für das automatische Ausschalten meines Routers folgendes Script:

```
#!/bin/bash

sleep 90

alloff=0

while :

do

   sum=1

   for host in 1 2 3 5 6 7 8 9 10 11 12 13 14 15 

   do

     up=`ping -c 1 -w 1 192.168.0.$host | awk ' $5 ~/recei/ {print($4)}'`

     if [ $up = 0 ]

     then

        sum=`expr $sum + 1`

        if [ $sum = 15 ]

        then

           alloff=`expr $alloff + 1`

        fi

     fi

   done

   if [ $sum -lt 15 ]

   then

      alloff=0

   fi

   if [ $alloff -eq 10 ]

   then

      halt

   fi

   sleep 60

done   
```

Das Script pingt einmal pro Minute 192.168.0.1-192.168.0.15 mit Ausnahme der 192.168.0.4 (das ist der Router selber)

Kriegt er 15 mal keine Antwort schaltet er sich aus.

Der Router wird per WOL gestartet.

----------

## Robmaster

Die einfachste Methode ist im Bios eine Start Zeit anzugeben (klappt nicht mit jedem Bios).

Das Herrunterfahren dann einfach per cron job.

----------

## b3cks

 *Robmaster wrote:*   

> Die einfachste Methode ist im Bios eine Start Zeit anzugeben (klappt nicht mit jedem Bios).
> 
> Das Herrunterfahren dann einfach per cron job.

 

Lesen, verstehen und merken, dass diese Methode hier nicht gewollt/erwünscht ist.

Was machst du denn, wenn du gerade schön am arbeiten bist - auf dem Server - und der runterfährt?!

Außer doof gucken und fluchen nicht viel...

----------

## Robmaster

Erst lesen dann ... 

lol und was ist hiermit.

>>Naja, man kann den Server ja mit ACPI automatisch booten lassen. Also ich möchte das gerne so machen. Gegen 12-1 mache ich alle meine Rechner aus, ist im Netz sonnst nichts los, soll der Server 30 min später heruntergefahren werden. Um 7 Uhr morgens soll der Rechner wieder automatisch durchstarten.

----------

## Robmaster

Wenn die Rechner sowieso um 12-1 ausgeschaltet werden,was spricht dann dagegen den Server um 2 Uhr herrunter fahren zu lassen.

----------

## b3cks

 *Robmaster wrote:*   

> Wenn die Rechner sowieso um 12-1 ausgeschaltet werden,was spricht dann dagegen den Server um 2 Uhr herrunter fahren zu lassen.

 

Das da oben ist ein Beispiel, dass wenn er die Rechner um 12-1 ausmacht, der Server 30 Minuten später runterfährt. Das Ausschalten der Rechner, kann aber ebenso erst um 2 oder 3 oder schon um 23 Uhr erfolgen. Über das hochfahren morgens sind wir uns ja einig und das ist hier auch nicht direkt das Problem.

----------

## misterjack

habe für meine zwecke jetzt auch eins geschrieben und das gleich mit einem Wiki-Artikel verbunden:

http://de.gentoo-wiki.com/Automatischer_Shutdown

----------

## a.forlorn

So richtig klappt das nicht. Ich krieg immer "unknown command"

----------

## misterjack

 *a.forlorn wrote:*   

> So richtig klappt das nicht. Ich krieg immer "unknown command"

 

bei was?

----------

## a.forlorn

Naja, erstmal hast Du nen Fehler drin. Einmal heißt Dein script check_to_lan und einmal check_to_shutdown. Ich kann grad nicht an den Server, ich poste später.

----------

## a.forlorn

```
/usr...shutdown: line 19: while :: command not found

/usr...shutdown: line 20: syntac error near unexpected token 'do'

/usr...shutdown: line 20: 'do'
```

----------

## misterjack

ups, da hat sich nen fehlerteufel eingeschlichen, hab jetzt fehlerbereinigte version von meinen server hochgeladen. kommt davon wenn man im tran frühs um viere nen artikel schreibt  :Very Happy: 

----------

## K_O-Gnom

servus,

erst mal danke an den author. geniales script habs hier grad eingebaut und hoffe auf erfolgreiche ausführung.

da ich neben dem heimserver noch ein paar andere dinge im netzwerk habe die eine ip haben (und somit gescannt) werden habe ich mir erlaubt das script ein wenig anzupassen und werde die änderung nun hier vorstellen.

das orginal script prüft soweit ich das verstehe ja nur ob neben dem server noch andere clients up sind ... ich habe hier aber z.b. noch einen router und einen accesspoint und zwei virtuelle maschinen die je eine ip ziehen. das script würde bei mir also nie den server herunterfahren.

daher habe ich eine zeile eingefügt um die anzahl konfigurieren zu können der rechner die dauerhaft online sind und im ifblock das ganze natürlich angepasst das auch gegen diese variable geprüft wird.

Änderungen:

```
#anzahl der systeme welche im netzwerk dauerhaft online sind (router oder accespoints o.ä.)

daueron=5
```

```
if [ $on -eq $daueron ]; then
```

das komplette script schaut dann so aus:

```
#!/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

#anzahl der systeme welche im netzwerk dauerhaft online sind (router oder accespoints o.ä.)

daueron=5

### 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 $daueron ]; then

                count=`expr $count + 1`;

        else

                count=0;

        fi

        if [ $count -eq $checks ]; then

                shutdown -h now;

        fi

        sleep $time

done
```

nochmal danke für das script 

und auf bald

K_O-Gnom

----------

## 69719

Es ist zwar ein weilchen her, aber ich habe auch so etwas mittels crontab.

```

#!/bin/bash

#### SETTINGS ####################################################

# the network to scan

NETWORK=192.168.0.0/24

# how many checks before we can shutdown

CHECKS=3

# host count that are always online

MINHOSTS=2

# min uptime before the first check begins

MINUPTIME=60

##################################################################

UPTIME=$(cat /proc/uptime | cut -d . -f 1)

UPTIME_MINUTES=$(($UPTIME / 60))

[ $UPTIME_MINUTES -lt $MINUPTIME ] && exit 0

source /tmp/shutdownmanager.tmp 2> /dev/null || COUNT=0

HOSTS=$(nmap -sP $NETWORK | grep 'appears to be up' | wc -l)

if [ $HOSTS -le $MINHOSTS ]; then

   COUNT=$(($COUNT + 1))

else

   COUNT=0

fi

if [ $COUNT -ge $CHECKS ]; then

   rm -f /tmp/shutdownmanager.tmp

   shutdown -h now

fi

echo COUNT=$COUNT > /tmp/shutdownmanager.tmp

```

----------

## ruth

Ja, das ist sicher eine gute Idee, diese Befehle in roots crontab zu haben:

 *escor wrote:*   

> 
> 
> ```
> 
> ...
> ...

 

Nur soviel:

leg als bösartiger Benutzer, vor erstmaliger Ausführung des Scripts einfacherweise, eine /tmp/shutdownmanager.tmp (z.B. mit Inhalt rm -rf /) Datei an und warte genüsslich das Sterben des Systems ab - im besten Falle; im schlechtesten gehört dein Rechner ab sofort jemand anderes...  :Wink: 

----------

## 69719

 *ruth wrote:*   

> Ja, das ist sicher eine gute Idee, diese Befehle in roots crontab zu haben:
> 
>  *escor wrote:*   
> 
> ```
> ...

 

Das ist mir klar und ich ignoriere es, denn die Kiste ist offline, also nicht übers Internet zu erreichen.

----------

## ruth

Dann schreib das wenigstens dazu,

sonst kopiert sich das noch jemand auf einen Server oder Firmenkiste oder so...  :Wink: 

Muss ja nicht sein...

----------

## Anarcho

Nur falls es jemanden interessiert:

Ich habe seit ein paar Tagen (seit es im Portage ist) spindown im Einsatz:

```
* sys-block/spindown

     Available versions:  ~0.2.2

     Homepage:            http://code.google.com/p/spindown

     Description:         Spindown is a daemon that can spin down idle disks
```

----------

## Keepoer

 *Anarcho wrote:*   

> Nur falls es jemanden interessiert:
> 
> Ich habe seit ein paar Tagen (seit es im Portage ist) spindown im Einsatz:
> 
> ```
> ...

 

Ja, tut es! Wie läuft das Programm so? Bzw. lohnt es sich dafür von hdparm zu wechseln? Das läuft nämlich auf meinem Server...

MfG

----------

## Finswimmer

 *Keepoer wrote:*   

> 
> 
>  Das läuft nämlich auf meinem Server...
> 
> MfG

 

War da nicht was, dass man Serverfestplatten lieber durchlaufen lässt, da sie dann weniger belastet werden?

Tobi

----------

## Evildad

Ging das nicht schon immer mit hdparm? Hab das schon ne Weile laufen...

----------

## Keepoer

 *Finswimmer wrote:*   

> War da nicht was, dass man Serverfestplatten lieber durchlaufen lässt, da sie dann weniger belastet werden?
> 
> Tobi

 

Moin,

ja, das habe ich auch gehört! Da es auf dem Server im Durchschnitt aber alle 2 Tage nur zu Zugriffen kommt, sollte dies den Platten dann besser tun  :Wink: 

MfG & Frohes Fest!

----------

## ixo

Hallo,

falls es sich um einen Athlon XP handelt, versuch 'mal das Tool athcool, das bringt bei meinem Athlon XP 1900 etwa 20 Watt im Leerlauf.

Mein Server liegt im Leerlauf mit 1,5GB RAM (3 Riegel), 4 Platten, DVB-S Karte und einer low end Graphikkarte übrigens bei knapp über 80 Watt. Der Verwendungszweck ist sehr ähnlich zu dem Deiner Kiste.

Gruß, ixo

----------

## Anarcho

hdparm hatte ich nie im dazu verwendet. Schaltet das die Platten denn auch komplett aus? spindownd sendet mittels sg_stop ein STOP Kommando sodass die Platten wirklich ausgehen. 

Bei mir sind es dann meist ca. 8 Stunden bis die Platten dann wieder angehen müssen. Ich bin mir da auch nicht so ganz sicher, aber ich denke es ist besser für die Platten (und für die Stromrechnung).

----------

## firefly

soweit ich weis stellt hdparm entsprechende timeouts in der Festplatte selbst ein, damit diese sich nach einer gewissen zeit des "nichts tun" selbst abschaltet.

----------

## 69719

Noch ein kleiner Tip, man kann auch den Server mittels hibenate nach 30 Minuten runterfahren und wenn der eigene PC startet einfach ein WOL Signal an den Server schicken und er ist ruck zuck bereit. (Insofert euer Server WOL unterstützt)

----------

## Evildad

Man shutdown sagt folgendes:

 *Quote:*   

>        -C     Check  the  current  IDE power mode status, which will always be
> 
>               one  of  unknown  (drive  does  not   support   this   command),
> 
>               active/idle  (normal  operation), standby (low power mode, drive
> ...

 

Also schaltet es wohl die Platten komplett aus. 

Es klackt (Motor springt an) wenn ich wieder versuche darauf zu schreiben....

----------

