Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaSkripts - Versionierung und BackUp Skript

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    JavaSkripts - Versionierung und BackUp Skript

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

      Liebe Community,

      Ich würde gerne meine Erfahrungen und das daraus entstandene Resultat mit euch teilen.
      Leider ist es im JavaSkript Adapter aktuell nicht möglich alte Versionen von Skripts, Blocklys usw. zurückzuholen. Weshalb ich bereits vor einiger Zeit nach einer "Papierkorb" Funktion angefragt habe.
      Hier wurde ich darauf aufmerksam gemacht, dass des möglich sei ein Spiegel Verzeichnis von allen Skripts anlegen zu lassen und von diesem ein regelmäßiges Backup zu machen.
      Aus diesem Anstupser entstand nun eine Art Versionierung Skript.
      Danke an @bahnuhr für den Tip!

      Vorab: Da ich selbst zwar Code lesen und mit Einschränkungen Versehen kann, mir aber beim code schreiben wirklich schwer tue, wurde der Code sowie das Readme zu 90% von KI generiert.

      https://github.com/bloop16/iobroker-JavaSkript-Backup-System/

      Bin gespannt auf eure Rückmeldungen!

      Herzlichen Dank!

      arteck bahnuhr 2 Replies Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @bloop last edited by arteck

        @bloop nicht schlecht aber..

        wenn in scripten user , password kombinationen genutzt wird postest du das auf GIT ..

        NICHT SCHÖN

        das bitte auf jeden Fall in die doku aufnehmen...
        noch schöner währe wenn es ausgefilter werden könnte

        B 2 Replies Last reply Reply Quote 0
        • B
          bloop @arteck last edited by

          @arteck Danke für dein Feedback!
          Da ich in keinem meiner Skripts Passwörter und Userdaten gespeichert habe, ist mir das komplett entfallen.
          Werde ich in die Doku aufnehmen.
          Für das Problem findet sich bestimmt ebenfalls eine Lösung.

          1 Reply Last reply Reply Quote 0
          • B
            bloop @arteck last edited by

            @arteck
            Guten Abend,
            Ich habe mich erneut an die Arbeit gemacht und eine Funktion zum "schwärzen" von Passwörtern eingebaut.
            Variablen, Direkt Zuweisungen usw. werden auf password, pass, passwort, passwd, user, usw. überprüft und anschließend mit XXX überschrieben.
            Ebenfalls kann der Git upload auch deaktiviert werden.

            BananaJoe U 2 Replies Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @bloop last edited by

              @bloop GitHub ist da hart verdrahtet drin? Ich nutze Gitea ( https://docs.gitea.com/ ) als eigenes Repo. Da liegen meine Skripte auch schon (ich mache das per Hand mit den gespiegelten Scripten im Dateisystem). Und ich kann es auf "nicht öffentlich" stellen.
              Da dürfen dann auch alle Passwörter drin bleiben.

              B 1 Reply Last reply Reply Quote 0
              • B
                bloop @BananaJoe last edited by

                @bananajoe Was verstehst du unter hart verdrahtet? 😅
                Meine Repo steht bei git ebenfalls auf privat. Aber Gitea wäre selbstverständlich ebenfalls eine Option.

                1 Reply Last reply Reply Quote 0
                • U
                  Unterstedter @bloop last edited by

                  @bloop erst einmal vielen Dank für das Skript, find ich klasse! Könntest du ggf. die Funktion zum "schwärzen" von Passwörtern optional in den Skript-Configs mit true/false auswählbar machen? Speichere die Skripte nur lokal, da würd ich die PW gerne beibehalten. Hab die betreffenden Zeilen erstmal auskommentiert, aber das wäre sicherlich die elegantere Lösung.

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

                    @bloop
                    Guten Morgen,
                    ich kopiere mir die Scripte aus dem Spiegelverzeichnis täglich auf meine NAS und habe somit eine tägliche Sicherung und Versionierung meiner erstellten Scripte.

                    Was will man:
                    Ziel ist doch, dass man (wenn etwas schief läuft, etc.) auf ältere Scripte zurückgreifen kann.
                    Und dies müssen dann doch unverändert sein (so wie der Stand halt damals war).

                    Mir ist noch nicht so richtig begreiflich warum :

                    • Versionierung bei Änderung zeitgleich notwendig ?
                    • extra pakete installiert werden müssen
                    • Scripte werden öffentlich ?? gestellt
                    • Ordnerstruktur geändert wird
                    • Scripte verändert werden (pass raus/rein, etc.)

                    Ist dies nicht to much ?

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

                      @bahnuhr
                      Guten Morgen,
                      Während ich an den Scripts arbeite ist mir die einmal tägliche Sicherung zu wenig. Kann sein das es nur an mir liegt, aber wenn ich große Veränderungen an Skripts vornehme und diese dann austeste, kommt es schon mal vor dass ich lieber wieder zu einer älteren "Version" zurück möchte.

                      Das Paket inotify-tools überwacht und erkennt ob eine Datei im skriptMirror verändert wurde. Anschließend wird eine Kopie der Datei incl. Zeitstempel im vorab definierten Ziel Pfad abgelegt. - Könnte in deinem Fall auch die NAS sein. Die Anzahl der Kopien lässt sich begrenzen.

                      Wer git verwenden möchte, benötigt selbstverständlich auch das Paket dazu. Meine Scripts werden in einem Privaten Repository abgelegt. Um hier etwas mehr Sicherheit zu gewährleisten werden die Scripts ohne Benutzername und Passwörter, APIs hochgeladen.

                      Ob das jetzt zu viel des guten ist, kann jeder selbst für sich entscheiden und hätte bei bedarf auch die Möglichkeit nicht benötigte Funktionen zu deaktivieren.

                      1 Reply Last reply Reply Quote 0
                      • B
                        bloop @Unterstedter last edited by

                        @unterstedter
                        Erledigt! v1.1.0

                        U 1 Reply Last reply Reply Quote 0
                        • U
                          Unterstedter @bloop last edited by

                          @bloop danke!

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          900
                          Online

                          31.6k
                          Users

                          79.6k
                          Topics

                          1.3m
                          Posts

                          5
                          11
                          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