Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Daten per NFS kopieren und umbenennen (Zeitstempel)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Daten per NFS kopieren und umbenennen (Zeitstempel)

    This topic has been deleted. Only users with topic management privileges can see it.
    • DJMarc75
      DJMarc75 last edited by DJMarc75

      Tag,
      heutiges Projekt soll sein Daten (.png) aus dem ioBroker auf meine NAS per nfs zu kopieren und dabei den Dateinamen mit der aktuellen Zeit zu versehen.
      Grund ist dass die Datei welche ich erzeuge immer "screenshot.png" heisst und bei erneutem auslösen diese natürlich überschrieben wird. Das möchte ich aber nicht.
      Habe das interne Kopieren ohne Dateinamenänderung per Blockly schonmal hinbekommen aber da hörts bei mir auch schon auf:
      Screenshot 2022-09-05 061237.png
      Befehl im Blockly:

      cp /opt/iobroker/iobroker-data/files/adb.0/screenshot.png /opt/iobroker/iobroker-data/files/vis.0/2022ML/images/screenshot.png
      

      Ob es dafür eine Lösung geben kann ?

      Merci schonmal

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @DJMarc75 last edited by

        @djmarc75

        dann musst dich erstmal entscheiden, ob du das mit blockly oder evtl mit javascript machen willst

        mit blockly nutzt du exec mit linux commands

        mit javascript könntest du dir ein zusätzliches npm modul installieren - wie z.b. https://www.npmjs.com/package/fs-extra - und im script kopieren

        auf alle fälle bauchst du einen mount zum nas auf deinem iob-server. wenn du den hast und auch rechte zum schreiben, ist eigentlich das grobe schon gemacht

        mit blockly sollte am einfachsten sein, denn mit dem mount brauchst du ja nur noch ein mv oder cp in einem exec. den fienamen mit datum kannst du ja sehr einfach im blockly erstellenund i exec übergeben

        1 Reply Last reply Reply Quote 0
        • DJMarc75
          DJMarc75 last edited by

          @liv-in-sky sagte in Daten per NFS kopieren und umbenennen (Zeitstempel):

          mit blockly oder evtl mit javascript machen willst

          Blockly kann ich besser als Javascript

          @liv-in-sky sagte in Daten per NFS kopieren und umbenennen (Zeitstempel):

          bauchst du einen mount zum nas

          Per BackitUp kann ich die NAS mounten, also ich sichere den iob dorthin per NFS - ergo ist zumindest in BackitUp das schon funktionierend.
          Jetzt ist halt die Frage wie ich per Linuxbefehl(oder/und per Blockly) die NAS mounten kann - da hängts bei mir.

          bahnuhr 1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @DJMarc75 last edited by

            @djmarc75

            Hier mal ne Anleitung, wie ich dies hingekommen habe (aus dem Internet zusammen geklickt und auf mich angepasst).

            mfg

            nfs - Synology Freigabe.txt

            P DJMarc75 2 Replies Last reply Reply Quote 0
            • P
              peterfido @bahnuhr last edited by

              Javascript wartet beim Kopieren wohl endlos, wenn das NAS, aus welchen Gründen auch immer, nicht (mehr) verfügbar ist. Nach ein paar Sekunden wird die Javascript Instanz dann beendet.

              Da gibt es Möglichkeiten, das abzufangen. Ich habe es schließlich so gelöst, dass sich der Fileserver selbst die Dateien holt.

              1 Reply Last reply Reply Quote 0
              • DJMarc75
                DJMarc75 @bahnuhr last edited by

                @bahnuhr So ungefähr hab ich es auch hinbekommen allerdings ohne mit Berechtigungen zu spielen.

                Habe nfs-kernel-server nachinstalliert und dann die Datei

                /etc/exports
                

                angepasst.
                In Blockly dann per exec Block erst gemountet, ein Timeout eingefügt und dann wieder per exec die Datei kopiert (mit Datumsangabe). Sieht dann so aus:
                Screenshot 2022-09-05 093601.png

                Funktioniert erstmal so wie es soll - werde aber da noch einiges "pimpen" 😀

                @peterfido sagte in Daten per NFS kopieren und umbenennen (Zeitstempel):

                dass sich der Fileserver selbst die Dateien holt

                wie hast Du das gelöst?

                bahnuhr P 2 Replies Last reply Reply Quote 0
                • bahnuhr
                  bahnuhr Forum Testing Most Active @DJMarc75 last edited by

                  @djmarc75 sagte in Daten per NFS kopieren und umbenennen (Zeitstempel):

                  So ungefähr hab ich es auch hinbekommen allerdings ohne mit Berechtigungen zu spielen.

                  hast du ne Anleitung ?

                  DJMarc75 1 Reply Last reply Reply Quote 0
                  • DJMarc75
                    DJMarc75 @bahnuhr last edited by

                    @bahnuhr sagte in Daten per NFS kopieren und umbenennen (Zeitstempel):

                    hast du ne Anleitung ?

                    Muss ich eine machen - aber halt nur für Debian welches auf meinem RPI läuft...
                    Bin dabei und schreibe hier dann rein !

                    1 Reply Last reply Reply Quote 1
                    • DJMarc75
                      DJMarc75 last edited by DJMarc75

                      @bahnuhr

                      Bin folgend vorgegangen:

                      Per Putty:

                      sudo apt install nfs-kernel-server
                      sudo systemctl status nfs-server
                      sudo systemctl start nfs-server
                      sudo nano /etc/exports
                      

                      Dort habe ich die existierende Freigabe auf meiner NAS eingetragen:

                      /nfs/iobroker/ 192.168.178.152(rw,sync,no_subtree_check)
                      

                      Danach funktioniert das schon und ich konnte erfolgreich mounten mit:

                      sudo mount -t nfs 192.168.178.152:/nfs/iobroker /var/backups
                      

                      var/backups hab ich nur so zum Testen verwendet. In Deiner Anleitung hast Du ja einen anderen Ordner angelegt was ich noch machen werde.

                      Hoffe ich habe nix vergessen und natürlich kann ich für nix garantieren 😀

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @DJMarc75 last edited by

                        @djmarc75

                        falls du sichergehen möchtest, ob der mount auch tasächlich da ist kannst du das so machen:
                        "LinuxBackup" ist bei mir der mountpoint

                        mount | grep LinuxBackup
                        

                        ist dieser befehl/result im blockly leer, ist der mount nicht da und du kannst dir eine message senden und den befehl abbrechen

                        1 Reply Last reply Reply Quote 1
                        • P
                          peterfido @DJMarc75 last edited by

                          @djmarc75 da läuft ein Skript, welches sich die Dateien holt. Das ist dann je nach Quelle individuell zu erstellen. Bin aktuell nicht am Server.

                          Im Prinzip habe ich per Node-Red unter iobroker einen Webserver erstellt und der "Fileserver" holt sich die Dateien von dort per Curl. Im Detail ist es etwas aufwändiger. Node-Red nutzt den /shm Ordner als Zwischenspeicher, da dieser im RAM liegt und ich so ständige Schreibzugriffe auf die SSD spare.

                          DJMarc75 1 Reply Last reply Reply Quote 0
                          • DJMarc75
                            DJMarc75 @peterfido last edited by

                            @peterfido sagte in Daten per NFS kopieren und umbenennen (Zeitstempel):

                            etwas aufwändiger

                            Ja das klingt schon sehr aufwändig.

                            Ich habe das jetzt im Blocklyskript gelöst wie @liv-in-sky geschrieben hatte:

                            mount | grep meinMountpoint
                            

                            wird 2 Sekunden nach dem Mountbefehl abgefragt und wenn kein Wert zurück kommt wird das Blockly nicht weiter ausgeführt.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            829
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

                            4
                            12
                            396
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo