Synology NAS per Skript herunterfahren

Hinweis: In dem Thema Synology NAS per Skript herunterfahren gibt es 30 Antworten auf 4 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Das mit den ' oder " nennt man qouten, die bash nimmt den String zwischen den beiden Anführungszeichen als kompletten String auf und macht dann nichts ungewolltes......


    Das mit den ' und " braucht dich jetzt erst mal nicht zu kümmern, ich benutze immer ' weil dann wirklich das genommen wird, was zwischen beiden ' steht.


    Starte openSUSE, öffne eine Konsole/Terminal, dort gibst du als User ein:


    Code
    ssh root@IP_des_NAS

    als nächste dort:


    Code
    which shutdown

    Und dann postest du hier (in Code-Tags) den kompletten Inhalt dieser Konsole, auch die IP-Adresse, die gehört bei 192.168 oder 172.16* oder 10. zum sogenannten privaten Netz werden nicht ins Internet geroutet

    Private IP-Adresse – Wikipedia

    Für den Inhalt des Beitrages 301377 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Ok, nun geht es schon mal in die richtige Richtung. Was ich anfangs in der ersten PuTTY Session hatte, der SSH Key musste einmalig zwischen remote Host und Client verifiziert werden, war hier wohl auch nötig, wenn man per SSH ohne PuTTY erstmalig zum Client eine Verbindung aufbaut. Der key fingerprint ist nun im NAS hinterlegt. Das habe ich auch schon getestet, die Abfrage kommt nicht mehr, es erscheint direkt root@ip's password. Nach dem nun erfolgreichen Connect zum Client habe zunächst das Skript getestet, der Shutdown des NAS erfolgte leider nicht.

    Deshalb habe ich dann den shutdown Befehl im Terminal eingegeben, worauf das NAS herunterfuhr und der Connect vom remote host geschlossen wurde.


    Einmal editiert, zuletzt von freestylz ()

    Für den Inhalt des Beitrages 301380 haftet ausdrücklich der jeweilige Autor: freestylz

  • Code
    mws200:~ #

    Ich hatte geschrieben:

    Zitat

    Starte openSUSE, öffne eine Konsole/Terminal, dort gibst du als User ein:

    Also nicht als root ssh aufrufen!!!!!!


    Und wie du siehst, ist der Pfad bei dem NAS:

    Zitat

    which shutdown

    /sbin/shutdown

    Also sollte folgendes funktionieren:

    Unter openSUSE eine Konsole öffnen, dort als User!!!! eingeben:


    Code
    sshpass -p "meinPasswort" ssh root@192.168.10.13 -t "/sbin/shutdown -h now"

    Fährt dann das NAS herunter?

    Für den Inhalt des Beitrages 301381 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Leider fährt das NAS nicht herunter, "meinPasswort" habe ich natürlich durch das entsprechende Passwort ersetzt, zumindest im zweiten Versuch ;)


    Code
    otto@mws200:~> sshpass -p "meinPasswort" ssh root@192.168.10.13 -t "/sbin/shutdown -h now"
    otto@mws200:~> 

    Für den Inhalt des Beitrages 301382 haftet ausdrücklich der jeweilige Autor: freestylz

  • Da du dich zuerst als root angemeldet hast und danach den ssh Befehl abgesetzt hast, wurde natürlich auch ein Schlüssel für root angelegt.


    Also noch einmal als User!!!!:

    Code
    ssh root@192.168.10.13

    danach ein

    Code
    exit

    und danach ein:

    Code
    sshpass -p "meinPasswort" ssh root@192.168.10.13 -t "/sbin/shutdown -h now"

    Für den Inhalt des Beitrages 301383 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Edit: parallel zu deinem Post hatte ich es schon selbst erkannt wo mein Fehler lag und meinen hier folgenden Text verfasst.


    Die Eingabe obigen Codes hat nun doch das NAS herunterfahren lassen.
    Als eingeloggter User musste auch für diesen User erst noch ein key fingerprint per "ssh root@192.168.10.13" erzeugt werden. Danach funktionierte es mit "sshpass ...." aus der Konsole heraus.


    Nachdem wohl jetzt die Zeile in der shutdown.sh und der key fingerprint passen, habe ich in der Energieverwaltung zum Testen im Profil Energiesparen das Feld "Skript ausführen" angewählt, in der Zeile Skript den Pfad /usr/sbin/shutdown.sh zum Speicherort des Skripts angegeben und Skript ausführen nach 1 Min. eingestellt und dann Anwenden angeklickt. Leider passiert aber nach einer Minute nichts. Ich wollte es erst einmal ohne UPS kritischen Ladeszustand testen, da ich hierzu hätte wesentlich länger warten müssen. Das sollte aber nicht von Bedeutung sein welches eingestellte Ereignis das Skript auslöst.

    Für den Inhalt des Beitrages 301384 haftet ausdrücklich der jeweilige Autor: freestylz

  • Das Script wird auf dem openSUSE Rechner ausgeführt........

    Ja, na klar. Genau wie die Systemeinstellungen zum Energiesparmodus.
    Den Speicherort des Skripts habe ich entsprechend deinen Angaben geändert, jeweils für user und root. Das Skript habe ich als user und auch als root unter dem jeweiligen Account neu erstellt, so dass nun der jeweilige Benutzer die Rechte an der Datei hat. Die neuen Skripts habe ich mit shutdown-nas.sh benannt, unter Eigenschaft/Berechtigung sind sie als ausführbar gekennzeichnet. Ich habe noch eine Zeile mit einem Befehl [echo "Das Synology NAS wird heruntergefahren!"] ergänzt, damit ich bei manueller Ausführung über die Konsole wenigstens ein bisschen Feedback bekomme.
    Die Ausführung des Skripts funktioniert über die Konsole.


    Test als user:

    Code
    otto@mws200:~> ~/bin/shutdown-nas.sh
    Das Synology NAS wird heruntergefahren!
    Connection to 192.168.10.13 closed.
    otto@mws200:~> 

    Test als root:

    Code
    mws200:~ # /usr/bin/shutdown-nas.sh
    Das Synology NAS wird heruntergefahren!
    Connection to 192.168.10.13 closed.
    otto@mws200:~> 


    Die Ausführung des Skripts über openSUSE für den user Otto "Systemeinstellungen>Energiesparmodus>Energiesparen>Skript ausführen>Link: /home/otto/bin/shutdown-nas.sh > Skript ausführen nach 1 Minute" funktioniert nicht. Das NAS fährt nicht herunter. Es liegt die Vermutung nahe, dass openSUSE das Skript nicht einstellungsgemäß startet.

    Für user Otto hatte ich auch zusätzlich den Link zum Skript ~/bin/shutdown-nas.sh getestet.


    Ich hoffe hier braucht es nicht einen cron-Job. Skript ausführen unter den Energiespareinstellungen von openSUSE schien der vermeintlich einfachste Weg. In welcher Datei ändert sich denn etwas, wenn man die Optionen über die GUI ändert? Ggf. kann man hier selbst was nachbessern?
    Das Herunterfahren über UPS bei 30% Ladezustand habe ich mir bis jetzt erspart, da es zum Testen einfach viel zu lange dauert, bis die Batterie leer ist. Außerdem sollte auch hier in openSUSE nur das Skript per angeklickter Option zum Ereigniszeitpunkt zur Ausführung kommen.

    Beste Grüße und danke schon mal bis hier hin.

    Einmal editiert, zuletzt von freestylz ()

    Für den Inhalt des Beitrages 301405 haftet ausdrücklich der jeweilige Autor: freestylz