Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Scripte aus Backup wiederherstellen

    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

    Scripte aus Backup wiederherstellen

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

      Hi zusammen,

      mir ist leider ein kleines Missgeschick passiert: ich habe versehentlich ein Script gelöscht, das ich gerne zurück haben möchte.
      Glücklicherweise habe ich mit Backitup ein Backup gemacht, das ich jedoch nicht komplett einspielen möchte.

      Im Backup ist eine 56MB große JSON-Datei, in der ich das Script auch gefunden habe, allerdings passt das Format nicht zu dem, das man erhält wenn man regulär Scripte exportiert.

      Kann mir jemand sagen, wie ich am besten vorgehe, um nur dieses eine Script aus dem Backup zu holen?

      simatec M 2 Replies Last reply Reply Quote 0
      • simatec
        simatec Developer Most Active @Hiltex last edited by

        @hiltex Hast du mit Backitup gesichert und die Option JavaScript aktiviert oder hast du nur das reine iobroker Backup?

        Hiltex 1 Reply Last reply Reply Quote 0
        • Hiltex
          Hiltex @simatec last edited by

          @simatec Javascript ist aktiviert, das Backup habe ich gerade gefunden. Aber das Problem ist hier das gleiche. Das Format unterscheidet sich von dem Export-Format

          simatec BananaJoe 2 Replies Last reply Reply Quote 0
          • simatec
            simatec Developer Most Active @Hiltex last edited by

            @hiltex Dann musst du es auch mit Backitup wiederherstellen

            1 Reply Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @Hiltex last edited by BananaJoe

              @hiltex also wenn es nicht ein Blockly war kannst du ja, wie du schon scheinbar entdeckt hast, den Inhalt aus "source": nehmen. Eventuelle vorher alle `\n\ durch Neue Zeile/Return/Enter ersetzen

              Das klappt bei Blockly auch, aber es ist dann halt kein Blockly mehr.

              Lösung:
              Im JavaScript-Adapter musst du Mirror scripts to file path: aktiviert haben:
              83e12934-349d-492e-9dd9-0c6e162fc057-image.png
              Der Zielpfad muss für den Benutzer iobroker beschreibbar sein, am allerbesten ist er auch gleich Besitzer des Ordners.
              Nach einem Neustart des Adapters spiegelt er sämtliche Skripte in das Dateisystem. Wahlweise kannst du nun auch dort am Skript etwas ändern und er übernimmt das dann in die Weboberfläche.

              Also ein leeres Skript erstellen im ioBroker Skripte Editor (auch als Blockly) und die Datei suchen:
              43c54ba4-da90-4de9-9806-4bbc61a0cf65-image.png

              nichtderroot@iobroker:/home/iobroker/MeisenwegScripts/001_Routinen/ZigBee/disabled$ ll
              insgesamt 156K
              drwxr-xr-x 2 iobroker iobroker 4,0K Jan 23 14:17 ./
              drwxr-xr-x 4 iobroker iobroker 4,0K Jan  2 18:03 ../
              -rwxr-xr-x 1 iobroker iobroker  83K Jan 21 17:04 deaktiviert_Symfonisk_Wohnzimmer_V3.js*
              -rwxr-xr-x 1 iobroker iobroker  17K Jan 21 17:04 disabled_Aqara_Meldungen.js*
              -rwxr-xr-x 1 iobroker iobroker  14K Jan 21 17:04 disabled_Bewegungsmelder_Kellertreppe.js*
              -rwxr-xr-x 1 iobroker iobroker    0 Jan 23 14:17 LeeresSkript.js*
              -rwxr-xr-x 1 iobroker iobroker  26K Jan 21 17:04 Temperaturen_Runden.js*
              

              und bearbeiten

              nano LeeresSkript.js
              

              Nun den Inhalt aus dem "source": Feld nehmen und alle \n durch neue Zeile ersetzen. Ich nehme dazu Notepad++
              **Schritt 1: **
              da40cfd9-d3cd-403e-8536-21751219d30b-image.png
              Im Suchmodus "normal" alle \n durch [nnn] ersetzen.

              Schritt 2:
              4affa0ae-cc41-4b09-9402-fdd545cffda7-image.png
              Im "Erweitert" Suchmodus das ganz Rückgängig machen. Nur das diesmal wirklich neue Zeilen dabei entstehen.
              d9e12611-a8a8-4cae-b921-ea4c628b598f-image.png

              Diesen Text kannst du nun in die göffnete, leere Datei einfügen und diese Speichern:
              Und Zack taucht es im Editor wieder auf:

              fec48cdf-897b-4828-806f-11eded553c26-image.png

              Hab ich schon erwähnt was für ein geiler Typ ich bin 😳

              ich nehme an bei anderen Skript-Typen funktioniert das genauso.

              Ergänzung vom 05.05.2022: Es müssen auch alle

              \"
              

              durch " ersetzt werden! Falls vorhanden ... (Also der / muss weg)

              Homoran Hiltex BananaJoe 3 Replies Last reply Reply Quote 2
              • Homoran
                Homoran Global Moderator Administrators @BananaJoe last edited by

                @bananajoe sagte in Scripte aus Backup wiederherstellen:

                Hab ich schon erwähnt was für ein geiler Typ ich bin

                Joa!
                und deshalb schreibst du auch

                @bananajoe sagte in Scripte aus Backup wiederherstellen:

                Der Zielpfad muss für den Benutzer ioBorker beschreibbar sein.

                😂

                BananaJoe 1 Reply Last reply Reply Quote 1
                • BananaJoe
                  BananaJoe Most Active @Homoran last edited by BananaJoe

                  @homoran habe es es korrigiert inklusive korrekter Groß und Kleinschreibung 😕

                  1 Reply Last reply Reply Quote 1
                  • BananaJoe
                    BananaJoe Most Active last edited by

                    @homoran sagte in Scripte aus Backup wiederherstellen:

                    @bananajoe sagte in Scripte aus Backup wiederherstellen:

                    Hab ich schon erwähnt was für ein geiler Typ ich bin

                    Der Stolz sofort auf die Lösung gekommen zu sein hatte mich für einen kurzen Moment einfach übermannt ...

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @BananaJoe last edited by

                      @bananajoe Den Post muss ich mir für die Doku merken und beizeiten klauen

                      1 Reply Last reply Reply Quote -1
                      • Hiltex
                        Hiltex @BananaJoe last edited by

                        @bananajoe Sehr cool.
                        Schade, dass man so einen Move machen muss, aber es funktioniert, und darauf kommt es ja an.
                        Danke.

                        PS: ja, du bist ein geiler Typ 😆

                        BananaJoe 1 Reply Last reply Reply Quote 0
                        • BananaJoe
                          BananaJoe Most Active @Hiltex last edited by BananaJoe

                          @hiltex In der Theorie könnte man sich leicht ein Tool schreiben was das einem quasi extrahiert ...
                          Ich muss aber zugeben das ich noch nie mit dem BackItUp Adapter etwas zurück gesichert habe, ich habe mir immer per Hand das aus dem Backup geholt was ich brauchte (unter anderem diverse male bei VIS).
                          Deshalb wusste ich auch sofort wie man dein Problem löst, ich musste es nur noch mal eben schnell testen ...

                          Und ich habe gerade gesehen das für das Backup der JavaScripte sowieso das Spiegeln ins Dateisystem aktiviert sein muss.

                          Ich persönlich sichere dieses Verzeichnis noch mal extra und habe es deshalb einfacher.

                          simatec 1 Reply Last reply Reply Quote 0
                          • simatec
                            simatec Developer Most Active @BananaJoe last edited by

                            @bananajoe sagte in Scripte aus Backup wiederherstellen:

                            Und ich habe gerade gesehen das für das Backup der JavaScripte sowieso das Spiegeln ins Dateisystem aktiviert sein muss.

                            Das ist so nicht richtig ...

                            https://github.com/simatec/ioBroker.backitup/blob/master/docs/de/backitup.md#javascript-backup

                            BananaJoe 1 Reply Last reply Reply Quote 0
                            • BananaJoe
                              BananaJoe Most Active @simatec last edited by

                              @simatec ok, ich hatte < 2.2.0 Javascript überlesen

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

                                Ist es eigentlich eine gute Idee, den Script-Mirror-Ordner unter /opt/iobroker/iobroker-data anzulegen oder spricht etwas dagegen?
                                Das hätte doch den Charme, dass die Scripte im Backup enthalten sind, oder ist das ein Trugschluss?

                                Falls dem nicht so ist würde ich das gleich mal als Änderungsvorschlag unterbreiten:

                                1. Script Mirror sollte standardmäßig aktiviert sein - mit diesem Pfad
                                2. Backitup sollte diesen Ordner mit sichern
                                BananaJoe simatec 2 Replies Last reply Reply Quote 0
                                • BananaJoe
                                  BananaJoe Most Active @Hiltex last edited by

                                  @hiltex wie wir zuvor festgestellt haben werden die Skripte auch ohne die Aktion gesichert.
                                  Aber ich nehme an du meinst das der BackItUp-Adapter diesen Ordner mit sichern soll? Wäre ein Featurerequest an den Adapter 🙂

                                  Ich habe aus dem Ordner ein Git-Repo gemacht und Versioniere so (wenn ich an git add. / git commit / git push denke ...
                                  Ich sicher aber meinen ioBroker als ganze VM und kann aus dem Backup auch so Dateien wiederherstellen.

                                  1 Reply Last reply Reply Quote 0
                                  • simatec
                                    simatec Developer Most Active @Hiltex last edited by

                                    @hiltex Für Backitup ist der Mirrorpfad nicht nötig.
                                    Grundsätzlich sollte man aber den Pfad außerhalb der iobroker Struktur anlegen

                                    Am besten in das Homeverzeichnis des Users

                                    /home/user/scripts
                                    
                                    Hiltex 1 Reply Last reply Reply Quote 0
                                    • Hiltex
                                      Hiltex @simatec last edited by

                                      @simatec Meiner Ansicht nach ist der Mirror-Pfad schon nötig, da ich momentan keine Möglichkeit sehe, ein einzelnes Script wiederherzustellen, ohne den oben gezeigten Umweg zu gehen. Oder liege ich da falsch?

                                      1 Reply Last reply Reply Quote 1
                                      • BananaJoe
                                        BananaJoe Most Active @BananaJoe last edited by

                                        @bananajoe Wie der Zufall es will musste ich gerade nach meiner eigenen Anleitung suchen weil ich es irgendwie geschafft haben einen kompletten Unterordner zu löschen ...

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          MCU @Hiltex last edited by

                                          @hiltex
                                          Falls noch gebraucht?
                                          https://mcuiobroker.gitbook.io/jarvis-infos/tipps/scripte-blockly-javascript/javascript/getscriptdata

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          829
                                          Online

                                          31.9k
                                          Users

                                          80.2k
                                          Topics

                                          1.3m
                                          Posts

                                          5
                                          19
                                          2368
                                          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