Beiträge von freestylz

    Leider kann ich als Anfänger mit deiner Antwort nichts anfangen. Ich sehe da noch keinen genauen Lösungsweg, eher nur einen Ansatz. OpenSUSE / Linux bringt eine Konsole und auch SSH mit sowie eine zugehörige Config-Datei, das ist für mich noch nachvollziehbar. Aber wie soll das Ganze nun automatisch bei einem definierten Batteriezustand das NAS herunterfahren?


    Mein Versuch vom Shutdown Skript shutdown.sh:

    Code
    #! /bin/sh
    sshpass -p "meinPasswort" ssh -t root@ip-meines-NAS "sudo shutdown -h now"

    Das Skript shutdown.sh habe ich mit chmod +x ausführbar gemacht und es lässt sich mit ./shutdown.sh im Terminal ohne Fehlermeldung ausführen - aber ein Effekt ist nicht zu erkennen, das NAS fährt nicht herunter. Führe ich das Skript aus wenn das NAS nicht eingeschaltet ist, dann gibt es einen Fehler, dass der Host nicht erreichbar ist.

    Weil sich die How-To's darauf bezogen hatten per PuTTY zumindest das Passwort und den Login für Root auf dem NAS zu erstellen. Das wäre wohl nötig, um den Shutdown Befehl per SSH ausführen zu können. Andere Nutzer als Root gehen wohl nicht, es sei denn man macht weitere Modifikationen auf dem NAS.


    Sollte es eine andere Möglichkeit geben als PuTTY, wäre mir das auch das auch lieb. Mit Bordmmitteln von openSUSE sollte es eigentlich auch klappen. Hier gibt es ja die Dateien - nut.conf, upsd.conf, upsd.users und upsmon.conf - aber an dieser Stelle bin ich gescheitert. UPS per USB hat noch funktioniert, aber nicht der Shutdown, was laut NUT ähnlich den Systemeinstellungen des Energiesparmodus gehen sollte. How-To's sind diesbezüglich aber auch wieder nur für ältere Distributionen von openSUSE bzw. den RASPI verfügbar und funktionieren, zumindest bei mir, nicht. Daher schien mir der Weg über SSH, PuTTY und Skript am wahrscheinlichsten zum Laufen zu bekommen.

    Ich möchte mein Synology NAS, welches sich im gleichen Netzwerk wie mein PC befindet, per Skript herunterfahren.
    Das Skript soll über die "Systemeinstellungen>Energiesparmodus>Skript ausführen, Angabe des Speicherortes" automatisch gestartet werden, wenn der unter den Bedingungen eingestellte Systemzustand eintritt.

    Im Vorfeld habe ich SSH mit Port 22 im NAS aktiviert und PuTTY unter openSUSE Leap 15.1 auf dem PC installiert. Mit einem How-To habe ich auf dem NAS das Passwort für Benutzer root sowie dessen Login aktiviert. Mittels PuTTY kann ich mit SSH mich nun auf dem NAS als Root unter Eingabe des erstellten Passwortes einloggen. Hier kann ich dann den Befehl 'shutdown -h now' in der Konsole eingeben, worauf das NAS herunterfährt. Auch der Befehl 'synoshutdown -s' funktioniert, wobei das NAS nicht herunterfährt, wenn von diesem gerade kritische Operationen ausgeführt werden.


    1.) Was muss in dem benötigten Skript stehen um das gleiche zu erreichen wie mit dem manuellen Login über PuTTY?

    2.) In welchem Verzeichnis muss das Skript abgespeichert sein?


    Ich betreibe sowohl den PC als auch das NAS an einer UPS von APC. Über Anpassung diverser Dateien kann mein PC per USB-Verbindung die Daten der UPS auslesen. Ab 40% Ladezustand zeigt das System den kritischen Ladezustand an und bei 30% wird erfolgreich der PC heruntergefahren (Systemeinstellungen des Energiesparmodus). Beim Herunterfahren des PC's soll das Skript ausgeführt werden. Das Skript soll sowohl beim zu 99% eingeloggten User1, als auch beim Admin root funktionieren.

    Ich würde mich sehr auf Unterstützung freuen, denn Google findet zumeist Tipps für Windows User, selten für den Raspi bzw. Linux und nichts davon funktioniert in meiner Umgebung.

    boenis

    Danke für deinen Beitrag zur Umwandlung eines *.deb in *.rpm und der anschließenden Installation des *.rpm von einer lokalen Quelle. Wenn auch nicht alles 1:1 bei mir funktioniert hat, so hat es mir zumindest den richtigen Lösungsansatz verschafft um den aktuellen SYNOLOGY Drive Client unter OpenSuse Leap 15.1 funktionsfähig zu installieren.


    Um meinen Lösungsweg mitzuteilen, habe ich mich extra hier im Forum angemeldet, denn schon oft habe ich von Lösungen anderer User profitiert.


    Wie schon oft erwähnt, stellt Synology seinen Drive Client für Linux leider nur als *.deb Paket zur Verfügung. Um unter Leap 15.1 den Syn Drive Client ohne großen Aufwand zu installieren, habe ich zunächst das User *.rpm-Paket für Leap 15.2 aus dem Forum benutzt. Das funktionierte auch unter Leap 15.1, allerdings war die Version 2.xx des Syn Drive Client für meine DS220j zu alt. Diese hatte ich nämlich kurz vorher mit dem DSM 7.1 Update auf den neuesten Stand gebracht. Als Drive Client wollte Synology also nun eine V3.xx haben. Folglich habe ich mir nach obiger Anleitung Alien installiert. Dieses brach aber die Kompilierung des aktuellen Drive-Client*.deb immer wieder mit einem RPM-Build Fehler ab.


    Weil ich nicht auf Leap 15.1 verzichten kann, installiert auf einem Vereins-PC mit Software für eine elektronische Schießanlage welche genau diese Distribution benötigt, habe ich Ubuntu 22.04 parallel installiert. Hier konnte ich dann mittels Alien den aktuellen Syn Drive Client von *.deb erfolgreich in *.rpm umwandeln. Das neu erstellte *.rpm habe ich als nächstes in einen lokalen Ordner des Leap 15.1 kopiert und dem System nach obiger Anleitung die lokale Repo-Quelle bekannt gemacht. Die Installation klappte, es mussten lediglich einige Fehlermeldungen, z.B. Zertifikat, ignoriert werden.

    Dazu noch ein wichtiger Hinweis: bei der Konvertierung von *.deb nach *.rpm gab es die Mitteilung seitens Alien, dass man besser den --script Parameter verwenden solle. Die mit diesem Parameter erstellte *.rpm ließ sich aber wegen eines Installationsfehlers/-abbruchs nicht erfolgreich installieren!


    Mit dem aktuellen Synology Drive Client und meinem DS220j läuft jetzt alles prima unter OpenSuse Leap 15.1
    Für alle User habe ich einen Ordner 'Gemeinsame Dateien'. In diesem Ordner Habe ich über den Synology Drive Client den Ordner 'SynologyDrive' erstellt. In diesem Ordner befinden sich wiederum die üblichen Ordner Dokumente, Bilder und einige andere Daten. Dieser Driver Ordner wird laut Synology Aufgabe immer nur von PC in Richtung NAS synchronisiert. Am PC gelöschte Dateien werden jedoch nicht auf dem NAS gelöscht. Zuvor hatte ich das Tool BACKINTIME (nutzt grsync) zur wöchentlichen Datensicherung in Benutzung, aber über den Drive Client finde ich es wesentlich praktikabler.