This is the old XigmaNAS forum in read only mode,
it will taken offline by the end of march 2021!



I like to aks Users and Admins to rewrite/take over important post from here into the new fresh main forum!
Its not possible for us to export from here and import it to the main forum!

Shutdown - wenn Clients offline sind

German community

Moderators: b0ssman, apollo567, Princo, crowi

Forum rules
Set-Up GuideFAQsForum Rules
Post Reply
Falconcrest
NewUser
NewUser
Posts: 13
Joined: 13 Dec 2014 21:12
Status: Offline

Shutdown - wenn Clients offline sind

Post by Falconcrest »

Hallo NAS4Free-User,

ich habe meinen alten Windows-Home-Server beerdigt. :D
Auf der Suche nach einer Alternative bin ich auf NAS4Free gestossen. Vor einigen Jahren hatte ich bereits einmal FreeNAS für kurze Zeit am Laufen, es dann aber wieder verworfen.

Die Einrichtung des Systems (NAS4Free) funktioniert bisher super, eine Freigabe des Softraid-Laufwerkes klappt ebenfalls bestens.
Da ich mich noch nicht so gut mit FreeBSD auskenne, würde ich ein wenig Hilfe bei folgendem Problem benötigen:

Das der Server, zu von mir geplanten Zeiten, herunter fährt, ist zwar prima, aber .... er soll dies auch tun, wenn meine beiden Clients offline sind. Dazu habe ich hier im Forum ein Script gefunden, welches dies NAS4Free "beibringen" soll.

1) Wohin muss ich und wie kann ich das Script kopieren / installieren damit das Ganze funktioniert?
2) Auf meinem Linux-Mailserver(eisfair1) tue ich das mit WinSCP per SFTP. Wie verhält sich das bei nas4free?
Das Script habe ich in das Verzeichnis /mnt/mount/scripts/ gepackt und grundsätzlich funktioniert es per Befehl, nachdem ich den Pfad zu grep angepasst habe, es stand nämlich /sbin/grep im Script, aber dort liegt grep ja nicht, sondern in /usr/bin/ und zu 2) ich sollte schon den SSH-Dienst aktivieren... :idea:

Code: Select all

#!/bin/bash

    HOST1=192.168.0.2
    HOST2=192.168.0.3

    _exit () {
       case $1 in
          1) /bin/echo "Kein Shutdown - Mindestens einer der PCs ist eingeschaltet" ;;
          2) /bin/echo "Kein PC online - Shutdown" ; /sbin/shutdown -p now ;;
       esac
       exit $1;
    }

    # Checken ob PC's an sind
    if [ `/sbin/ping -c 1 -i 1 $HOST1 | /usr/bin/grep -wc 100.0%` -eq 0 ] || [ `/sbin/ping -c 1 -i 1 $HOST2 | /usr/bin/grep -wc 100.0%` -eq 0 ] ; then _exit 1;


            # Wenn kein PC an ist, 10 sec warten falls gerade einer Neu startet
            else
                    /bin/echo "Kein PC online - Warte 90 Sekunden"
                    /bin/sleep 90

            # noch mal PC's checken
            if [ `/sbin/ping -c 1 -i 1 $HOST1 | /usr/bin/grep -wc 100.0%` -eq 0 ] || [ `/sbin/ping -c 1 -i 1 $HOST2 | /usr/bin/grep -wc 100.0%` -eq 0 ] ; then _exit 1;


            # Wenn kein PC an ist, gehe zu exit case 2 (Shutdown)
            else
                    _exit 2
            fi
    fi
3)Nun suche ich noch eine Möglichkeit, dass ganze per Cron permanent abarbeiten zu lassen. Bisher ist mir das noch nicht gelungen.
Unter System/Erweitert/Cron kann ich einen Cronjob anlegen, aber wer soll ihn ausführen, root oder admin und was stellt man am besten unter Geplante Zeit ein, eventuell Monate, Wochentage, Tage, Stunden auf -> Alle, nur Minuten auf 5, damit er alle 5 Minuten das Script ausführt?
Wenn ich das so einstelle, dann erscheint nach Jetzt ausführen: cron Job wurde nicht ausgeführt.

Auch das funktioniert inzwischen, ich muss nur noch ein wenig die Shutdown-Zeit optimieren.

Sind wohl schon alle in den Weihnachtsferien, schade! :(

Und Tschüß!

MfG. Falconcrest

User avatar
Princo
Forum Moderator
Forum Moderator
Posts: 1080
Joined: 15 Jul 2012 01:21
Location: Berlin, Germany
Status: Offline

Re: Shutdown - wenn Clients offline sind

Post by Princo »

Hi Falconcrest,
manageAcpi
Einen ganzen Satz sehr nützlicher Skripte findest du in diesem Thread: viewtopic.php?f=70&t=2197
Dort ist auch ein Shutdown-Skript enthalten (manageAcpi.sh).
Ich nutze die Version v1.0, und bin sehr zufrieden damit.
Diese Skripte werden über die Aufruf-Parameter konfiguriert, d.h. man editiert nicht in den Skripten herum.

Hier als Beispiel meine Konfiguration (in System|Advanced|Command scripts als PostInit-Skript:

Code: Select all

/mnt/Daten/system/scripts/manageAcpi.sh -a 19:45,20:05 -n 7:00,05:00,5,600,192.168.178.12+192.168.178.30+192.168.178.31 &
Wichtig ist besonders das " &" am Ende der Zeile.

Erklärung:
-a 19:45,20:05
Mein System darf zwischen 19:45 Uhr und 20:05 Uhr nicht automatisch herunterfahren, weil da automatische Snapshots gemacht werden.

-n 07:00,05:00,5,600,192.168.178.12+192.168.178.30+192.168.178.31
Das Skript ist nur in der Zeit zwischen 07:00 Uhr und 05:00 Uhr aktiv. Die zwei Stunden-Lücke dazwischen ist gewollt.
Die 5 ist der ACPI-State, der beim Herunterfahren erreicht werden soll.
Die 600 ist die Anzahl der Sekunden, die das System mit dem Herunterfahren warten soll. Das ist sinnvoll, damit das NAS sich nicht gleich abschaltet, wenn man seinen Rechner nur mal neu bootet.
192.168.178.12+192.168.178.30+192.168.178.31 ist die Liste der IP-Adressen, die beobachtet werden sollen.

Das Besondere an diesen Skripten ist, daß sie aufeinander abgestimmt sind.
So wird z.B. das NAS nicht automatisch herunterfahren, wenn das entsprechende Skript gerade einen Scrub der ZFS-Pools durchführt.

Schau dir das ruhig mal genauer an.

Grüße
Princo
Meine Antworten beziehen sich immer auf die englischsprachige GUI. ECC-RAM ist Pflicht beim Einsatz von ZFS.

Falconcrest
NewUser
NewUser
Posts: 13
Joined: 13 Dec 2014 21:12
Status: Offline

Re: Shutdown - wenn Clients offline sind

Post by Falconcrest »

Guten Morgen Princo,

vielen Dank erst einmal für Deine Info`s zu meiner Anfrage.

Ich werde mir das mal genauer anschauen, sicherlich werden Deine Ausführungen die bessere Lösung sein.
Obwohl ich das Ganze nur Just for Fun betreibe, es sollte dennoch gut funktionieren.

Wie in meinem ersten Beitrag geschrieben, den WHS habe ich softwaremäßig beerdigt, aber die Hardware(ziemlich betagt) ist noch vorhanden.
Es ist ein Rechner mit Athlon XP 3000+ Prozessor, 2 Gb Ram und 8 IDE-Platten unterschiedlicher Größen. Auf der kleinsten Platte ist NAS4Free(32bit) drauf und die restlichen 7 habe ich zu einem Softraid-Verbund( ca. 1,2 Tb, also nichts weltbewegendes) zusammen gefasst und JBOD gewählt.
Ich denke für meinen Einsatzzweck ist das so ok.
Zur Sicherheit sind die entsprechenden Daten dann auch noch auf anderen Netzlaufwerken vorhanden.
Da die entsprechenden Daten von den beiden Clients kommen, aktualisiere ich sie mit einer Syncronisationssoftware.

Ursprung meines Wunsches ist natürlich die Energieersparnis, da die Rechner nicht 24/7 durchlaufen müssen und sollen.
So sind dann auch nur bei Bedarf ein IPFire, zwei eisfair1-Server(1x Mail + Samba-Server, 1 x Samba-Server) sowie nun der NAS4Free-Server in Betrieb. Da es alles "abgelegte" Desktop-Systeme sind, also nicht auf niedrigen Stromverbrauch optimiert, tut das meiner Stromrechnung doch recht gut.

Ich weis aber auch, dass es nicht so prickelnd ist, Serversysteme immer hoch und runter zu fahren, aber ein Ausfall im privaten Bereich ist noch halbwegs zu verschmerzen, wenn man die Daten mehrfach und relativ aktuell vorzuliegen hat.

Das soll`s von mir gewesen sein, bei weiteren Fragen, würde ich mich gerne hier wieder melden.

MfG. Falconcrest

Falconcrest
NewUser
NewUser
Posts: 13
Joined: 13 Dec 2014 21:12
Status: Offline

Re: Shutdown - wenn Clients offline sind

Post by Falconcrest »

@Princo

Ich wollte mich nur noch einmal für den Tipp mit manageACPI.sh bedanken.
Es funktioniert prima.
Das Einzige, was mich ein wenig stört ist, dass das Script auf /mnt/blabla/scripts liegt.
So könnte ich es eventuell mal aus versehen löschen, da es ja auch in meiner Laufwerksfreigabe auf meinen Windows-Rechnern zu sehen ist.
Oder habe ich da etwas grundsätzlich falsch verstanden?

MfG. Falconcrest

User avatar
Princo
Forum Moderator
Forum Moderator
Posts: 1080
Joined: 15 Jul 2012 01:21
Location: Berlin, Germany
Status: Offline

Re: Shutdown - wenn Clients offline sind

Post by Princo »

Falconcrest wrote:Das Einzige, was mich ein wenig stört ist, dass das Script auf /mnt/blabla/scripts liegt.
So könnte ich es eventuell mal aus versehen löschen, da es ja auch in meiner Laufwerksfreigabe auf meinen Windows-Rechnern zu sehen ist.
Oder habe ich da etwas grundsätzlich falsch verstanden?
Dich stört, daß /mnt/blabla/scripts sichtbar ist?
Dann gib es einfach nicht frei. :mrgreen:

Genauer: lege auf /mnt/blabla ein Unterverzeichnis blabla an (also /mnt/blabla/blabla).
Verschiebe deine Dateien (bis auf das Verzeichnis scripts) alle in dieses Unterverzeichnis /mnt/blabla/blabla.

Dann änderst du deine Freigabe von /mnt/blabla auf /mnt/blabla/blabla.

Und Zack!: Problem gelöst.

Anmerkung: du kannst blabla natürlich durch eine sprechendere Bezeichnung ersetzen.

Grüße
Princo
Meine Antworten beziehen sich immer auf die englischsprachige GUI. ECC-RAM ist Pflicht beim Einsatz von ZFS.

Falconcrest
NewUser
NewUser
Posts: 13
Joined: 13 Dec 2014 21:12
Status: Offline

Re: Shutdown - wenn Clients offline sind

Post by Falconcrest »

@Princo

Ups, es waren nur ein paar Klicks und ein Eintrag! :D
Problem erkannt, Problem gebannt!

Danke!

MfG

Post Reply

Return to “Deutsch”