[QPKG] SHUTDOWN - ua. wenn kein Client erreichbar ist

  • Für alle die hier nicht mehr fündig werden und an dem Projekt dennoch interessiert sind, hier gibt es eine Alternative auto-off QPKG zum automatischen Auschalten


    Danke @frosch2



    [NAS Typ:] bedingt alle
    [Firmware:] (ab 2.0.0)
    [Getestet:] ja, mit TS-109 und TS-239
    [Sonstige Modifikationen:] keine
    [Autor:] Eraser-EMC2- / Stefan


    Zur Übersichtlichkeit der Antworten habe ich einen eigenen Beitrag erstellt.


    VORSICHT - Das NAS kommt durch diese Erweiterung nicht mehr in STANDBY :!:

    In der QPKG-Übersicht kann man die WebGUI zum Wait4PC deaktivieren,

    bei NAS-Zugriff aus dem Internet empfohlen.


    Das ist die WebGUI vom Wait4PC.
    Nach der Installation sollte es über die IP-Adresse und Port der WebGUI vom NAS und dem Pfad "/Wait4PC/index.html" aufgerufen werden können.,
    zB: "http://192.168.1.2:8080/Wait4PC/index.html" .


    Die Felder mit dem weißen Text sind Knöpfe/Buttons, mit denen man die Funktionen an- und ausschalten kann.
    Im Feld vor dem "Add" kann man die letzte Nummer der IP-Adresse eintragen und mit "add" der Liste hinzufügen.
    Ebenso kann die IP-Adresse mit "Remove" wieder aus der Liste entfernt werden.
    Bei Off (Rot) ist die Funktion/der Check deaktiviert,
    bei Check (Orange) wird der Status überprüft
    und bei Active (Grün) ist der Status positiv.
    Bei den IP-Adressen bedeutet rot, der Host ist offline und grün, der Host ist online.


    Erst wenn das NAS zum Herunterfahren bereit ist (Standby for Shutdown = check) wird der Status der einzelnen Funktionen überprüft und
    wechselt je nach Aktivität auf grün.


    1) Track in Systemlog : Off / Active
    Es werden bei Überprüfung der Verbindungszustände Informationen in den Systemlog geschrieben
    2) Qdownload : Off / Standby / Active ( nur wenn 11 auf Check)
    3) SAMBA : Off / Standby / Active ( nur wenn 11 auf Check)
    4) Rsync Client : Off / Standby / Active ( nur wenn 11 auf Check)
    5) Rsync Server : Off / Standby / Active ( nur wenn 11 auf Check)
    6) HD-USB-Copy : Off / Standby / Active ( nur wenn 11 auf Check)
    7) NZBGet : Off / Standby / Active ( nur wenn 11 auf Check)


    8) Continuous Ping : Off / Active (beeinflußt nicht das Shutdown-Verhalten,der Status wird nur angezeigt )
    9) Ping : Off / Standby / Active
    IP-Adresse : Offline / Online ( nur wenn 11 auf Check)


    10) Allways on Standby : Off / Active
    11) Standby for Shutdown : Off / Check
    Wenn manuell ausgelöst oder durch einen Crontab-Eintrag , (V1.2) der unten aufgeführten Zeitpunkte.
    "Last check time" gibt den letzten Zeitpunkt an, bei dem die aktivierten Verbindungs-Zustände überprüft wurde.






    BETA:




    Editor für Shutdown-Zeitpunkte.


    Aufbau der crontab und mögliche Angaben : http://troubadix.dn.fh-koeln.de/unix/cronjobs_syntax.html



    Stefan

  • Hi Eraser-EMC2,
    erst einmal vielen Dank für das nette Skript. Funktioniert bisher tadellos, ist aber für einen Linux Anfänger wie mich, manchmal recht kompliziert zu erweitern. Kannst du mir als Linux Laie erklären, warum das QPKG das NAS daran hindert, in den Standby zu gehen und das Skript das sehr wohl kann?


    mfG Norbert

  • Ich dachte es geht nciht mehr in den Standby:


    Zitat

    VORSICHT - Das NAS kommt durch diese Erweiterung nicht mehr in STANDBY

  • Zitat von "dolly0190"

    in den Standby zu gehen und das Skript das sehr wohl kann?


    Das NAS geht in den Standby ?


    Soweit hatte ich es nicht getestest und es war eher eine (begründete) Vermutung,
    da alle 5 Minuten (je nach Einstellung) Programme zur Statusabfrage gestartet und Config-Dateien gelesen und geschrieben werden.

  • Guten Morgen,
    ich hatte mir das wait4pc Skript so angepasst, dass es ab 0:00 Uhr bis 6 Uhr Morgens alle 20min prüft ob eine gewisse IP noch am Leben ist. Ist dem so, fährt das Nas nicht runter. Hin und wieder kommt es vor, dass ich das NAS daran hindern muss, dass es über Nacht runterfährt und füge in die IP Abfrage seine eigene IP Adresse ein. Dann macht ja durch, weil er sich sozusagen selber findet.
    Den Standby der Festplatten habe ich auf 30min eingestellt. Bisher war es so, dass das NAS dann tasgüber oder halt bis 0:00 Uhr auch die Platten runtergefahren hat.
    Ich hatte deine Standby Aussage so verstanden, dass dies mit dem QPKG nicht mehr geht?


    mfG Norbert

  • Hallo dolly0190,


    Zitat von "dolly0190"

    dass es ab 0:00 Uhr bis 6 Uhr Morgens alle 20min prüft ob eine gewisse IP noch am Leben ist.


    wie hast du das in der crontab eibngetragen ?


    Zitat von "dolly0190"

    Ich hatte deine Standby Aussage so verstanden, dass dies mit dem QPKG nicht mehr geht?


    Ja, das ist meine Aussage, da alle 5 Minuten (bei dir 20 Minuten) eigentlich ein Zugriff auf die Festplatte stattfindet,
    dadurch sollte dadurch kein Standby möglich sein.


    Stefan

  • */20 23-6 * * * /share/Public/wait4pc.sh


    Meinst du, du schaffst es die Zeitübernahme mit in dein QPKG einzubauen? So wie ich das jetzt richtig verstanden habe, ist dein QPKG kein Frontend des Skripts, sondern das ganze Programm in sich. Greift es auf die selben Dateien (wait4pc.sh, wait4pc.conf) zurück?



    mfG Norbert

  • Zitat von "dolly0190"

    */20 23-6 * * * /share/Public/wait4pc.sh


    Man lernt nie aus, ich wuste nicht, das es so auch funktioniert.


    Zitat von "dolly0190"

    Meinst du, du schaffst es die Zeitübernahme mit in dein QPKG einzubauen?


    Muß ich mal sehen, versprechen kann ich es nicht.


    Ja, das QPKG beinhaltet alle nötigen Dateien, auch das Script
    Es löst im Grunde das einzelne Script ab und zusätzliche Anpassungen.
    Die wait4pc.conf wird weiterhin verwendet.


    Die neuen Dateien liegen unter /share/xxx_DATA/.qpkg/Wait4PC .


    Stefan

  • Hallo Eraser-EMC2,


    kaum suche ich nach Monaten mal wieder was zu meinem NAS-System und war kurz davor ein Feature-Request abzuschicken, um die Standby-Funktion der HDDs als Shutdown-Befehl für das System zu kriegen, und schon treffe ich auf Dein Tool/Script, was ja genau das macht, was ich mir wünsche.
    Ich muss gestehen, ich habe noch nicht abgewartet, wie es sich verhält, aber ich hätte da noch mal ein paar Verständnisfragen.
    Dazu muss ich sagen, dass ich eine totale Linuxkrücke bin und auch das Programmieren eher weniger zu meinen Stärken gehört. :mrgreen: Über WinSCP bin ich allerdings schon - mit kurzer Suche nach dem richtigen Verzeichnis - bis zur wait4pc.sh vorgedrungen. Ob ich da überhaupt hin muss, klärt sich ja vielleicht umgehend.


    Kurze Infos: Ich nutze den Festplatten-Standby nicht! Und meine Clients sind Windows XP Pro- und Windows 7 Ultimate-Rechner. Ach ja, die beiden MACs von der Freundin gibt's ja auch noch.


    Meine Fragen:
    • In welchem Zeitabstand checkt das Script, ob das System ready für den Shutdown ist?
    • Wenn ich SAMBA zum Check anmache, guckt er (ähm, es?!), ob noch ein (Windows)Rechner darüber verbunden ist?!
    • Die "Hosts" hab ich nicht ganz kapiert. Die Zahl ist die letzte Stelle der Netzwerkadresse, das verstehe ich. Allerdings bin ich mir etwas unsicher, über den Eintrag.
    Wird geguckt, ob die IPs, die in der Liste stehen noch online sind (oder gar direkt verbunden)? Denn die NAS-IP steht ja schon automatisch drin und somit würde sich das System ja immer als online finden und nie runterfahren?!
    Oder wofür war das jetzt noch mal genau da? ;)


    Wäre klasse, wenn Du die Zeit finden könntest mich aufzuklären. Gerne auch jemand anderes, der da besser durchsteigt als ich.


    Grüße
    whatever

  • Hallo whatever,


    Zitat von "whatever"

    • In welchem Zeitabstand checkt das Script, ob das System ready für den Shutdown ist?


    Alle 5 Minuten, das kannst du auch in der crontab ändern.
    Evtl. füge später auch eine Möglichkeit für die Änderung auf der Config-Seite ein.


    Zitat von "whatever"

    Wenn ich SAMBA zum Check anmache, guckt er (ähm, es?!), ob noch ein (Windows)Rechner darüber verbunden ist?!


    Ja, das Script fragt SAMBA nach allen offenen Verbindungen von einem Host ab.


    Zitat von "whatever"

    Die "Hosts" hab ich nicht ganz kapiert.


    Wenn die PING-Abfrage aktiviert ist, werden alle aufgeführten IP-Adressen per PING auf Anwesendheit geprüft.
    Die NAS-IP kannst du entfernen, ich habe diese automatisch eintragen lassen, damit der Anwender weiß,
    das nur die End-Nummer der IP-Adresse eingetragen werden muß und nicht die komplette.


    Wenn die Ping-Funktion genutzt wird, die IP-Adresse des NAS entfernen.


    ---
    Ich war schon dabei eine weitere Funktion zu integrieren, wobei sich der PC über eine Url bei dem NAS als online und offline meldet.
    Wenn dann der "letzte" PC ausgeschaltet wird, soll das NAS dann sofort automatisch herunterfahren.


    Schöne Grüße,
    Stefan

  • Hallo Stefan,


    WOW, das war ja fix mit der Antwort!!


    Die Ping-Funktion hatte ich im Zusammenhang mit Hosts vergessen zu erwähnen, aber Du hast es ja wunderbar erklärt.
    Das mit der eingetragenen NAS-IP ist natürlich hervorragend mitgedacht :mrgreen:


    Ob mir 5min zu kurz sind, werde ich einfach mal probieren. Eigentlich scheint mir das ganz ok, selbst wenn man mal einen Neustart vom Clientrechner macht. Mal schauen.


    Eigentlich ist damit ja alles beantwortet und ich kann mich entspannt zurücklehnen ...und muss nur noch ein WoL-Tool auf den MACs eindrehen.
    Eine Sache interessiert mich allerdings noch, auch wenn es wahrscheinlich nicht relevant ist.
    Was verfolgt das Script beim Eintrag "Track in Systemlog"? Werden da quasi An- und Abmeldungen, plus evtl. laufende Aktionen überprüft?


    Auf jeden Fall ein ganz herzliches Danke schön für die schnelle Antwort und besonders das super Tool!!! :thumb:


    EDIT:
    #
    Zu früh gefreut...


    Selbst wenn ich nur die Funktion PING auf Check stehen habe und sonst alles auf off und einfach mal eine nicht vorhandene IP eindrehe, fährt sich das NAS nicht runter :-/
    Habe auch schon das QPKG disabled und wieder enabled. Leider ohne Erfolg.
    Liegt das evtl. an der 809 Pro und irgendwelchen anders umgesetzten Befehlen oder Strukturen?
    Ich kann es mir kaum vorstellen, dass die Version sich großartig von den 4xxer Systemen unterscheidet.


    Oder muss ich in der cfg oder einer anderen Datei noch irgendwas von Hand eindrehen?
    Hab das QPKG runtergeladen, ausgepackt, über die Webadminkonsole installiert und nur noch die Einstellungen unter http://<Nas IP>:8080/Wait4PC/index.html gemacht.


    EDIT: Die Anzeige "Last check time" steht bei mir immer auf "Never". Da erscheint nie eine Zeit, wie im Beispiel-Screenshot vom QPKG

    2 Mal editiert, zuletzt von christian () aus folgendem Grund: Doppelte Beiträge, bitte bei solchen Fällen den vorhandenen Beitrag editieren/erweitern

  • Mhhh,


    ok, mit dem De/Aktivieren des QPKGs wird nur der Zugriff auf die Web-Oberfläche ab/angeschaltet,
    nicht die Funktionen selbst.


    Beim Installieren des QPKGs werden alle Shutdown-Zeitpläne durch einen neuen Scriptaufruf ersetzt.
    Erste wenn ein Shutdown über einen der Zeitpläne erfolgen soll, werden alle aktivierten Funktionen (Ping, ...) überprüft.


    Ich werde wohl in der nächsten Version das Hinzufügen und Entfernen Zeitpläne aus der Crontab erweitern.


    Stefan

  • Es geht, es geht, alles wieder auf Anfang :mrgreen:


    Zitat von "Eraser-EMC2-"


    Erst wenn das NAS zum Herunterfahren bereit ist (Standby for Shutdown = check) wird der Status der einzelnen Funktionen überprüft und wechselt je nach Aktivität auf grün.


    Das war die fehlende Einstellung. Hab's irgendwie überlesen oder nicht so richtig zugeordnet.
    Ich dachte erst, dass ich vielleicht noch den Punkt Set power on/ power off/ restart schedule in der Adminkonsole anschalten muss, aber dann habe ich beim Rumtesten einfach mal Standby for Shutdown auf Check gestellt und plötzlich fuhr das NAS nach ein paar Minuten runter. Yeah.


    Diese Funktion ist nach jedem Neustart erstmal aus, oder? Kann ich das irgendwo editieren, dass der "Schalter" gleich auf CHECK steht?



    Zitat von "Eraser-EMC2-"


    ok, mit dem De/Aktivieren des QPKGs wird nur der Zugriff auf die Web-Oberfläche ab/angeschaltet, nicht die Funktionen selbst.

    Gut zu wissen. Was dann auch

    Zitat von "Eraser-EMC2-"

    In der QPKG-Übersicht kann man die WebGUI zum Wait4PC deaktivieren, bei NAS-Zugriff aus dem Internet empfohlen.

    erklären würde. :D


    Ok, dann wäre ja alles bestens und somit kann die 809 Pro mit in die Liste der funktionierenden System für QPKG SHUTDOWN mit aufgenommen werden!
    Danke noch mal.

  • Ich werde bis zum Wochenende ein Update zur Verfügung stellen,
    in dem man die nötigen Einträge des zeitgesteuerten Shutdowns (crontab) über die Web-Oberfläche erstellen, ändern und löschen kann.


    Stefan

  • Cool, hört sich gut an.
    Mittlerweile habe ich mir mal ein paar Seiten zu crontab angeschaut, um zu verstehen, was da überhaubt drinsteht. Eigentlich simpel, aber recht interessant.


    Wann wird denn QNAP Dein Shutdown als offizielles QPKG in seiner Liste mit aufführen? :mrgreen:

  • Zitat von "whatever"

    Wann wird denn QNAP Dein Shutdown als offizielles QPKG in seiner Liste mit aufführen?


    Dazu müßte ich eine englische Doku schreiben ... :(

  • Echt? Naja, so umfassend muss die Doku hoffentlich nicht sein?! ;)
    Ein Screenshot und eine kurze Erklärung, wie in Deinem Eingangsposting dürften ja wohl reichen.


    Ich muss leider noch mal nachhaken. Kann ich die Checkfunktion für Standby for Shutdown irgendwo auf standardmäßig on (check) eindrehen?
    In der wait4pc.conf steht es ja nachher drin, aber die Datei wird sicherlich erst anhand der Abfragen und Einträge bzw. über die GUI zusammengestellt, oder?

  • Zitat von "whatever"

    Kann ich die Checkfunktion für Standby for Shutdown irgendwo auf standardmäßig on (check) eindrehen?


    Ist von mir nicht vorgesehen, da ich mir vorstelle, das jemand das NAS startet könnte,
    wenn noch kein PC im Netz verfügbar ist und somit sich sofort wieder herunterfährt.


    Entwickelt hat sich das Script aus dem Wunsch heraus, das man gerne das NAS um 22 Uhr herunterfahren möchte,
    aber es besteht die Möglichkeit, das man länger am PC sitzt und das NAS dann nicht herunterfahren soll.


    Daher hatte ich dann die Kontroll-Mechanismen erstellt.
    Durch einen Eintrag in der Crontab (eigentlicher NAS Shutdown) wird das Script scharf geschaltet (Standby for Shutdown)
    und überprüft alle 5 Minuten den Zustand der aktivierten Bedingungen.
    Ist ein PC noch per Ping erreichbar oder besteht noch eine Verbindung über SAMBA, soll das NAS mit seinem Shutdown warten.


    Vorhandene Shutdown Einträge aus der WebGUI werden bei der Installation und beim Uninstall entsprechend angepaßt.


    Stefan

  • Zitat von "Eraser-EMC2-"


    Ist von mir nicht vorgesehen, da ich mir vorstelle, das jemand das NAS startet könnte, wenn noch kein PC im Netz verfügbar ist und somit sich sofort wieder herunterfährt.

    Bei mir ist es genau anders herum ;)
    Ich starte das NAS erst über Wake on LAN auf einem von vier Rechnern. Alle vier IPs sind eingetragen, falls in der Zwischenzeit der eine oder andere Rechner ebenfalls online geht.
    So bald der letzte Rechner abgeschaltet wurde, fährt sich auch das NAS wieder runter. Daher finde ich es etwas "nervig", wenn ich Anfangs immer erst das Script "einschalten" muss.


    Zitat von "Eraser-EMC2-"


    Entwickelt hat sich das Script aus dem Wunsch heraus, das man gerne das NAS um 22 Uhr herunterfahren möchte, aber es besteht die Möglichkeit, das man länger am PC sitzt und das NAS dann nicht herunterfahren soll.

    Seit mir das NAS bei eingestelltem Zeitplan - den ich natürlich vergessen hatte auszumachen - vor der Nase heruntergefahren ist, war dies genau der Grund nach dieser Funktion zu suchen.
    Dank Dir wurde ich fündig! :thumb:


    Zitat von "Eraser-EMC2-"


    Durch einen Eintrag in der Crontab (eigentlicher NAS Shutdown) wird das Script scharf geschaltet (Standby for Shutdown) und überprüft alle 5 Minuten den Zustand der aktivierten Bedingungen.

    Die Zeitabstände in der Crontab kann man sich ja individuell anpassen, daher wäre das für mich nicht so schlimm, wenn das QPKG schon beim NAS-Start scharf wäre.
    Ich wollte auch eher wissen, ob ich das irgendwo in einer der CFGs oder Abfragen schon fest eindrehen kann, so wie ich ja auch die Crontab-Zeit ändern könnte.
    War jetzt gar nicht als extra Feature oder so gedacht.


    Gruß
    whatever

  • Hallo,


    ich habe das aktualisierte QPKG in den ersten Beitrag hochgeladen, die alte Version als "Backup" noch erhalten.


    Zitat von "whatever"

    Daher finde ich es etwas "nervig", wenn ich Anfangs immer erst das Script "einschalten" muss.


    Dazu habe ich noch keine Option eingebaut, aber du könntest einen entsprechenden Eintrag in die autorun.sh eintragen:

    Code
    /share/xxx_DATA/.qpkg/Wait4PC/wait4pc.sh -s on


    Das xxx kann für HDA bzw. MD0 stehen, je nach RAID oder nicht.


    Stefan