[SCRIPT] SHUTDOWN - Wenn kein Client erreichbar ist

  • Hi,


    so ich werde das auch mal testen. Hört sich gut an.
    Nun habe ich eine kosmetische Frage, evtl hat das auch nix mit dem skript zu tun.


    Warum kann mein Terminal keine ü darstellen? Liegt das am Mac oder am NAS?


    [ 1 ] automatischer Shutdown [ on ]
    [ 2 ] Host-?berwachung ( ping ) [ on ]
    [ 3 ] QDownload ?berwachen [ off ]
    [ 4 ] Samba ?berwachen [ off ]
    [ 5 ] rsync ?berwachen [ off ]


    Gruss
    Chris

  • Hi,


    so das skript läuft und funktioniert perfekt. Danke dafür.
    Achja, die falsche Beschriftung ist im Skript. Ich vermute da ist irgendwas schief gelaufen beim übertragen.
    Obwohl ich das per afp kopiert habe.


    Es liegt wohl daran das es mit einem PC erstellt wurde, denn schon beim runterladen und öffnen des zip Files
    sind die "ü" nicht mehr vorhanden.


    Ich gebs auf, die "ü´s" mögen mich nicht. Nun hab ich die Datei in einer Windows VM herunterladen und es fehlen trotzdem die Sonderzeichen.
    Jmd eine Idee?


    So nun bin ich den grausamen Weg ;) über einen WIndowsPC gegangen und da sind nun alle "ü" vorhanden.


    Eine Frage an den Ersteller hätte ich noch. Kann man auch überwachen ob ein Zugriff via webdav erfolgt und diesen berücksichtigen?


    Gruss
    Chris

  • Zitat von "chrisb101"

    Eine Frage an den Ersteller hätte ich noch. Kann man auch überwachen ob ein Zugriff via webdav erfolgt und diesen berücksichtigen?


    Dazu weiß ich nicht, wie man offene Verbindungen vom Apache abfragen könnte.
    Evtl. kann mir jemand einen Tipp geben, der sich mehr mit dem Apache auskennt.


    Grüße,
    Stefan

  • Hi an alle,


    ich hatte vor meinen QNAP ein Buffalo NAS da war diese Funktion als Tool bei. Frage mich nun warum es QNAP nicht auch so löst ??


    Oder in die WEBGUI mit einbaut !


    Denn wie ich es sehe gibt es genügend Anwender die kein 24/7 Betrieb der NASnutzen.


    Oder ein kleines Toll schreibt was mann ganz einfach auf den Rechnern installiert die überwacht werden sollen ???


    Da konnte man einstellen wenn keine Aktivität ( Zeit x ) dann fahre NAS in WOL / Sleep Modus.
    Oder bleibe an solange ein Rechner da ist ? auch wenn Backup läut und danach aus.
    Und einiges mehr !!

  • Hallo joe2010,


    warum QNAP dafür keine Lösung anbietet, kann ich dir nicht verraten,
    aber evtl. hast du es überlesen, ich habe im ersten Beitrag dieses Themas eine kleine Lösung präsentiert.


    Grüße,
    Stefan

  • Hallo Stefan,


    habe dein Skript gesehen. Was ich damit sagen wollte. Ist es war sehr einfach und komfortabel für den User. Ohne irgend welche Vorkenntnisse. Doppelklick installieren und fertig. Keine IP eingabe oder sons was. Das Tool hat die NAS selber gesucht und alles eingestellt.


    Wobai ich sagen muß immer wieder QNAP trotz diesen kleinen Mangels

  • Hallo zusammen,
    ich muss mich da joe2010 anschließen. Ich habe zu meiner TS419P noch die Buffalo Linkstation mini. Buffalo liefert den NASNavigator mit. Wenn dieser auf einem oder mehreren PCs installiert wird, schaltet sich die NAS mit dem ersten PC ein und beim Ausschalten des letzten PCs geht auch die NAS wieder aus. Das ist eine perfekte Lösung. Wäre schön wenn QNAP solch ein Feature auch in den QNAPFinder integrieren könnte, denn es gibt sicher viele Anwender, für die die Intergation eines Scriptes einfach nicht realisierbar ist. Ich habe hier gelesen, dass jemand einen direkten Draht zu den QNAP Entwicklern hat und es wäre schön wenn man dort mal mit diesem Anliegen vorstellig wird.
    Gruß
    Peter

  • Danke erstmal für das script.


    Habe allerdings ein Problem auf der TS-119.


    Die Konfiguration in /etc/config/wait4pc.conf wird beim neu starten der Box geändert. Die option zum automatischen herunterfahren wird immer wieder auf N gesetzt, der Rest, wie Log oder Hosts bleibt unverändert.

  • Hallo pheekay,


    it is not a Bug, it is a Feature. :D


    Nein, im Ernst, der Wert wird gewollt beim Herunterfahren gesetzt,
    da es sonst sich gleich nach dem Starten wieder abschalten würde,
    wenn kein PC oder die anderen Bedingungen nicht aktiv sind.


    Der Wert wird dann wieder gesetzt, wenn das NAS eigentlich herunterfahren soll.
    Ab diesem Zeitpunkt findet dann die Überprüfung auf die aktivierten Bedingungen (Ping, Qdownload, Rsync).


    Ansonsten reicht es aus, wenn du im Script die Zeile

    Code
    $0 -s off

    in der Funtion "func_run"

    Code
    ...
    		if [ "${COUNT2}" = "0" ]; then
    			log "Keine Clients gefunden"
    			log "Server wird heruntergefahren : ${NAS}"
    #			$0 -s off
    			${SHUTDOWN}
    		else
    			echo "NAS bleibt online"
    		fi
    ...


    mit einem # auskommentieren,
    dann bleibt es immer gesetzt.


    Schöne Grüße,
    Stefan

  • Beim Aufruf des Menüs ist mir aufgefallen, dass bei mir unter Rsync-Prozesse teilweise "-1" als Wert angegeben war. Wie kann das sein?


    ERASER: Prüfst du, ob Rsync=0 ist oder fährt das NAS auch bei <0 runter? Ich hatte jetzt des öfteren den Fall, dass das NAS nicht runterfuhr, obwohl kein Download/Backup aktiv war und alle Clients ebenfalls offline waren. Vielleicht hängt das damit zusammen. :-/

  • Hallo Senseohasser,


    bei Rsync-Prozesse = -1 fährt das NAS nicht herunter.
    Zu dem Zustand kommt es wohl, wenn die Überprüfung auf rsync aktiviert wurde aber die Remote-Replikation nicht aktiv ist.
    Kannst du das so bestätigen ?
    Dann muß ich für das Rsync noch etwas hinzufügen, das es zum -1 nicht kommt.


    Stefan

  • Ja, das könnte es sein!


    Wie ist es eigentlich mit dem Backup auf einen externen Datenträger (das dauert bei mir häufig auch >12h), kann man das auch überwachen, so dass das NAS nicht mittendrin runterfährt?

  • Hallo,


    bei mir funktioniert das Script leider nicht. Der Server fährt nicht herunter, obwohl das Script behauptet, das zu tun.


    Code
    Model :TS-239PROII192.168.1.10 ist offlineKeine Clients gefundenServer wird heruntergefahren : TS-239PROII


    Woran kann das liegen?


    Ansonsten hat die Installation meine crontab-Datei zerschossen. Es wurde nicht nur in der neuen Zeile das wait4pc-Script als Befehl eingetragen, sondern auch die Befehle aller anderen Zeilen durch das wait4pc-Script ersetzt!


    Code
    # m h dom m dow /share/MD0_DATA/Scripts/wait4pc.sh
    0 3 * * * /share/MD0_DATA/Scripts/wait4pc.sh
    0 4 * * * /share/MD0_DATA/Scripts/wait4pc.sh
    0 3 * * * /share/MD0_DATA/Scripts/wait4pc.sh
    20 8 1,6,11,16,21,26 * * /share/MD0_DATA/Scripts/wait4pc.sh
    30 8 1,6,11,16,21,26 * * /share/MD0_DATA/Scripts/wait4pc.sh
    */5 0-7,10-23 * * * /share/MD0_DATA/Scripts/wait4pc.sh


    Weiterhin setzt das Script den falschen Pfad im Cronjob ein, wenn man das Script nicht aus dem Ordner heraus aufruft, in dem es liegt. Es wird also immer der Pfad des aktuellen Verzeichnisses verwendet, und nicht der, in dem das Script liegt.


    Kann mir jemand sagen, weshalb das NAS nicht herunterfährt?


    Danke & Grüße


    willi

  • Hallo willi,


    dank deiner Ausgabe kann ich den Grund eindeutig sagen.
    Da ich zwischen den ARM- und x86-NAS unterscheiden mußte und mir nur die Model-Bezeichnung zur Verfügung stand,
    fehlt die TS-239PROII in der Liste.


    Du findest im Script folgende Zeilen:

    Code
    case $NAS in"TS-119"|"TS-219"|"TS-419")	SHUTDOWN=`which halt`;;"TS-109"|"TS-209"|"TS-409")	SHUTDOWN=`which halt`;;"TS-110"|"TS-210"|"TS-410")	SHUTDOWN=`which halt`;	echo "Ich weiß nicht, ob halt oder poweroff";;"TS-239"|"TS-439"|"TS-509"|"TS-639"|"TS-809")	SHUTDOWN=`which poweroff`;;esac


    dort fügst bei der TS-239 einfach das "PROII" an:

    Code
    "TS-239PROII"|"TS-439"|"TS-509"|"TS-639"|"TS-809")	SHUTDOWN=`which poweroff`;;


    Zitat von "willi79"

    Weiterhin setzt das Script den falschen Pfad im Cronjob ein


    Meine einzige Erklärung:
    Da hattest du wohl das Script aus diesem Ordner "/share/MD0_DATA/Scripts" eingerichtet,
    und nicht aus dem Ordner, wo das Script abgelegt wurde.


    Stefan

  • Hallo Stefan,


    Zitat von "Eraser-EMC2-"

    Hallo willi,


    dank deiner Ausgabe kann ich den Grund eindeutig sagen.
    Da ich zwischen den ARM- und x86-NAS unterscheiden mußte und mir nur die Model-Bezeichnung zur Verfügung stand,
    fehlt die TS-239PROII in der Liste.


    Danke, das funktioniert. Wie wäre es, bei nicht erkanntem Modell eine Warnung auszugeben? Oder einfach "halt" und "poweroff" zu verwenden - oder bricht dann das Script mit einer Fehlermeldung ab?


    Zitat von "Eraser-EMC2-"


    Meine einzige Erklärung:
    Da hattest du wohl das Script aus diesem Ordner "/share/MD0_DATA/Scripts" eingerichtet,
    und nicht aus dem Ordner, wo das Script abgelegt wurde.


    Ja, schon klar. Aber wäre es denn nicht sinnvoller, den Pfad zu verwenden, in dem das Script liegt, als den, von wo man es aufruft? Und die crontab hat es mir unabhängig davon zerschossen.


    Grüße


    willi