Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Script per exec ausführen / sudo Rechteproblem?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Script per exec ausführen / sudo Rechteproblem?

Geplant Angeheftet Gesperrt Verschoben Blockly
14 Beiträge 6 Kommentatoren 2.2k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • CrunkFXC CrunkFX

    @Bert Hast du in den Instanzeinstellungen des Javascript Adapters die exec funktion aktiviert?

    B Offline
    B Offline
    Bert
    schrieb am zuletzt editiert von
    #3

    @CrunkFX said in Script per exec ausführen / sudo Rechteproblem?:

    @Bert Hast du in den Instanzeinstellungen des Javascript Adapters die exec funktion aktiviert?

    Ja ist aktiviert. Ohne sudo im exec-Block wird das Script ausgeführt, aber nur die Befehle "state set" welche einen Wert eines Objekts in ioBroker setzen.
    bei allen anderen Befehlen scheinen die Rechte zu fehlen :face_with_rolling_eyes:

    CrunkFXC 1 Antwort Letzte Antwort
    0
    • B Bert

      @CrunkFX said in Script per exec ausführen / sudo Rechteproblem?:

      @Bert Hast du in den Instanzeinstellungen des Javascript Adapters die exec funktion aktiviert?

      Ja ist aktiviert. Ohne sudo im exec-Block wird das Script ausgeführt, aber nur die Befehle "state set" welche einen Wert eines Objekts in ioBroker setzen.
      bei allen anderen Befehlen scheinen die Rechte zu fehlen :face_with_rolling_eyes:

      CrunkFXC Offline
      CrunkFXC Offline
      CrunkFX
      Forum Testing
      schrieb am zuletzt editiert von
      #4

      @Bert IOBroker Alle Rechte zu geben ist afaik nicht der richtige Weg. Vielleicht könntest du ja Mal dein Script hier reinstellen (in Codetags bitte) und dann kann evtl jemand der sich mit Linux auskennt das Mal anschauen. Vielleicht @Thomas-Braun

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      B Thomas BraunT 2 Antworten Letzte Antwort
      0
      • CrunkFXC CrunkFX

        @Bert IOBroker Alle Rechte zu geben ist afaik nicht der richtige Weg. Vielleicht könntest du ja Mal dein Script hier reinstellen (in Codetags bitte) und dann kann evtl jemand der sich mit Linux auskennt das Mal anschauen. Vielleicht @Thomas-Braun

        B Offline
        B Offline
        Bert
        schrieb am zuletzt editiert von
        #5

        Hier ist das Skript:

        mountpoint='/media/pi/770E-65D0'
        STORAGEPATH="/media/pi/770E-65D0"
        IMAGENAME="rpi"
        LOGFILE="/var/log/"$HOSTNAME_${IMAGENAME}_"backup-image.log"
        
        sudo mount -a
        
        iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "1"
         
        echo $(date +%Y-%m-%d_%H-%M-%S) " - Started to clone image" >> ${LOGFILE}
         
        sudo dd if=/dev/mmcblk0 of=${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d).img bs=1MB
         
        echo $(date +%Y-%m-%d_%H-%M-%S) " - Finished to clone image" >> ${LOGFILE}
        
        iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "2"
         
        echo $(date +%Y-%m-%d_%H-%M-%S) " - Started to resize image" >> ${LOGFILE}
         
        sudo /bin/bash /usr/local/bin/pishrink.sh -d ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d).img ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d)-small.img
         
        echo $(date +%Y-%m-%d_%H-%M-%S) " - Finished to resize big image" >> ${LOGFILE}
         
        echo $(date +%Y-%m-%d_%H-%M-%S) " - Started to delete big image" >> ${LOGFILE}
         
        sudo rm ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d).img
         
        echo $(date +%Y-%m-%d_%H-%M-%S) " - Finished to delete big image" >> ${LOGFILE}
        
        iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "3"
         
        echo $(date +%Y-%m-%d_%H-%M-%S) " - Started to compress small image" >> ${LOGFILE}
         
        gzip -q ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d)-small.img
         
        echo $(date +%Y-%m-%d_%H-%M-%S) " - Finished to compress small image" >> ${LOGFILE}
        
        iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "4"
        
        mv ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d)-small.img.gz /media/pi/bserver
         
        iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "5"
        
        echo $(date +%Y-%m-%d_%H-%M-%S) " - Mission Accomplished!!!" >> ${LOGFILE}
         
        
        B 1 Antwort Letzte Antwort
        0
        • B Bert

          Hier ist das Skript:

          mountpoint='/media/pi/770E-65D0'
          STORAGEPATH="/media/pi/770E-65D0"
          IMAGENAME="rpi"
          LOGFILE="/var/log/"$HOSTNAME_${IMAGENAME}_"backup-image.log"
          
          sudo mount -a
          
          iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "1"
           
          echo $(date +%Y-%m-%d_%H-%M-%S) " - Started to clone image" >> ${LOGFILE}
           
          sudo dd if=/dev/mmcblk0 of=${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d).img bs=1MB
           
          echo $(date +%Y-%m-%d_%H-%M-%S) " - Finished to clone image" >> ${LOGFILE}
          
          iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "2"
           
          echo $(date +%Y-%m-%d_%H-%M-%S) " - Started to resize image" >> ${LOGFILE}
           
          sudo /bin/bash /usr/local/bin/pishrink.sh -d ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d).img ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d)-small.img
           
          echo $(date +%Y-%m-%d_%H-%M-%S) " - Finished to resize big image" >> ${LOGFILE}
           
          echo $(date +%Y-%m-%d_%H-%M-%S) " - Started to delete big image" >> ${LOGFILE}
           
          sudo rm ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d).img
           
          echo $(date +%Y-%m-%d_%H-%M-%S) " - Finished to delete big image" >> ${LOGFILE}
          
          iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "3"
           
          echo $(date +%Y-%m-%d_%H-%M-%S) " - Started to compress small image" >> ${LOGFILE}
           
          gzip -q ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d)-small.img
           
          echo $(date +%Y-%m-%d_%H-%M-%S) " - Finished to compress small image" >> ${LOGFILE}
          
          iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "4"
          
          mv ${STORAGEPATH}/${IMAGENAME}_$(date +%Y-%m-%d)-small.img.gz /media/pi/bserver
           
          iobroker state set 0_userdata.0.Status_des_SD-Karten_Backups_des_ioBrokers "5"
          
          echo $(date +%Y-%m-%d_%H-%M-%S) " - Mission Accomplished!!!" >> ${LOGFILE}
           
          
          B Offline
          B Offline
          Bert
          schrieb am zuletzt editiert von
          #6

          Als Ergänzung:
          Grundsätzlich ist mir der Weg zum Ziel vollkommen egal!
          Also wenn es einen Umweg gibt um das Script auszuführen, dann nehme ich den selbstverständlich auch in kauf!
          Mir stellt sich gerade die Frage ob man das Script wohlmöglich per URL bzw. http Befehl ausführen lassen kann ?!

          Meister MopperM 1 Antwort Letzte Antwort
          0
          • B Bert

            Als Ergänzung:
            Grundsätzlich ist mir der Weg zum Ziel vollkommen egal!
            Also wenn es einen Umweg gibt um das Script auszuführen, dann nehme ich den selbstverständlich auch in kauf!
            Mir stellt sich gerade die Frage ob man das Script wohlmöglich per URL bzw. http Befehl ausführen lassen kann ?!

            Meister MopperM Online
            Meister MopperM Online
            Meister Mopper
            schrieb am zuletzt editiert von Meister Mopper
            #7

            @Bert Soviel wie ich verstehe, muss Dein ioBroker-user auch Schreibrechte auf dem Zielsystem haben. Vielleicht hilft ja dieser thread weiter.

            Proxmox und HA

            B 1 Antwort Letzte Antwort
            0
            • Meister MopperM Meister Mopper

              @Bert Soviel wie ich verstehe, muss Dein ioBroker-user auch Schreibrechte auf dem Zielsystem haben. Vielleicht hilft ja dieser thread weiter.

              B Offline
              B Offline
              Bert
              schrieb am zuletzt editiert von
              #8

              @Meister-Mopper
              Vielen Dank für deinen Tipp!
              Habe die Schritte aus deinem Beitrag mal durchgeführt, aber das hat leider auch nicht funktioniert.
              Habe bestimmt schon vorher irgendwas irreparabel gemacht durch das ganz Rechte-hin-und-her vergeben :pensive:
              Ich denke ich werde besser erstmal das Backup-Image aufspielen und nochmal recherchieren.
              Vielleicht hat ja noch jemand einen Tipp

              F 1 Antwort Letzte Antwort
              0
              • B Bert

                @Meister-Mopper
                Vielen Dank für deinen Tipp!
                Habe die Schritte aus deinem Beitrag mal durchgeführt, aber das hat leider auch nicht funktioniert.
                Habe bestimmt schon vorher irgendwas irreparabel gemacht durch das ganz Rechte-hin-und-her vergeben :pensive:
                Ich denke ich werde besser erstmal das Backup-Image aufspielen und nochmal recherchieren.
                Vielleicht hat ja noch jemand einen Tipp

                F Offline
                F Offline
                fastfoot
                schrieb am zuletzt editiert von
                #9

                @Bert Installiere dir den Terminaladapter und führe das Skript von dort aus. Das wird zwar auch nicht funktionieren aber du siehst womöglich sehr viel besser wo es hakt. Dort ist der user nämlich auch der iobroker

                iobroker läuft unter Docker auf QNAP TS-451+
                SkriptRecovery: https://forum.iobroker.net/post/930558

                1 Antwort Letzte Antwort
                0
                • CrunkFXC CrunkFX

                  @Bert IOBroker Alle Rechte zu geben ist afaik nicht der richtige Weg. Vielleicht könntest du ja Mal dein Script hier reinstellen (in Codetags bitte) und dann kann evtl jemand der sich mit Linux auskennt das Mal anschauen. Vielleicht @Thomas-Braun

                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von Thomas Braun
                  #10

                  @CrunkFX sagte in Script per exec ausführen / sudo Rechteproblem?:

                  und dann kann evtl jemand der sich mit Linux auskennt das Mal anschauen. Vielleicht @Thomas-Braun

                  Von skripten und insbesondere JavaSkript hab ich keine Ahnung.
                  Soll das oben ein shell-skript sein? Dann fehlt da mindestens mal die shebang.

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  CrunkFXC B 2 Antworten Letzte Antwort
                  0
                  • Thomas BraunT Thomas Braun

                    @CrunkFX sagte in Script per exec ausführen / sudo Rechteproblem?:

                    und dann kann evtl jemand der sich mit Linux auskennt das Mal anschauen. Vielleicht @Thomas-Braun

                    Von skripten und insbesondere JavaSkript hab ich keine Ahnung.
                    Soll das oben ein shell-skript sein? Dann fehlt da mindestens mal die shebang.

                    CrunkFXC Offline
                    CrunkFXC Offline
                    CrunkFX
                    Forum Testing
                    schrieb am zuletzt editiert von
                    #11

                    @Thomas-Braun Ich hatte in Erinnerung, dass du ein verfechter von sudo bist, daher dachte ich du könntest evtl. bei dem Rechteproblem helfen

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    Thomas BraunT 1 Antwort Letzte Antwort
                    0
                    • CrunkFXC CrunkFX

                      @Thomas-Braun Ich hatte in Erinnerung, dass du ein verfechter von sudo bist, daher dachte ich du könntest evtl. bei dem Rechteproblem helfen

                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      schrieb am zuletzt editiert von
                      #12

                      @CrunkFX @Bert
                      Ich verstehe den Ansatz schon nicht:

                      ein Skript zusammenkopiert welches meine SD-Karte während des laufenden Betriebs klont, shrinkt, gzipt und anschließend auf meinen NAS verschiebt.

                      Ich sicher lediglich per backitup den ioBroker relevanten Kram weg, das System selber ist mir doch wumpe. Das zimmer ich ohnehin schnell fix auf eine neue SD-Karte, im Falle eines Falles. Da mach ich gar keine Klimmzüge für.

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      1 Antwort Letzte Antwort
                      1
                      • Thomas BraunT Thomas Braun

                        @CrunkFX sagte in Script per exec ausführen / sudo Rechteproblem?:

                        und dann kann evtl jemand der sich mit Linux auskennt das Mal anschauen. Vielleicht @Thomas-Braun

                        Von skripten und insbesondere JavaSkript hab ich keine Ahnung.
                        Soll das oben ein shell-skript sein? Dann fehlt da mindestens mal die shebang.

                        B Offline
                        B Offline
                        Bert
                        schrieb am zuletzt editiert von
                        #13

                        Hallo zusammen,
                        sorry für die späte Antwort, haben spontan ein paar Tage Urlaub gemacht...

                        @Thomas-Braun said in Script per exec ausführen / sudo Rechteproblem?:

                        @CrunkFX sagte in Script per exec ausführen / sudo Rechteproblem?:

                        und dann kann evtl jemand der sich mit Linux auskennt das Mal anschauen. Vielleicht @Thomas-Braun

                        Von skripten und insbesondere JavaSkript hab ich keine Ahnung.
                        Soll das oben ein shell-skript sein? Dann fehlt da mindestens mal die shebang.

                        sorry, die Shebang ist vorhanden, hab ich nur nicht mitkopiert :man-facepalming:

                        @Thomas-Braun said in Script per exec ausführen / sudo Rechteproblem?:

                        @CrunkFX @Bert
                        Ich verstehe den Ansatz schon nicht:

                        ein Skript zusammenkopiert welches meine SD-Karte während des laufenden Betriebs klont, shrinkt, gzipt und anschließend auf meinen NAS verschiebt.

                        Ich sicher lediglich per backitup den ioBroker relevanten Kram weg, das System selber ist mir doch wumpe. Das zimmer ich ohnehin schnell fix auf eine neue SD-Karte, im Falle eines Falles. Da mach ich gar keine Klimmzüge für.

                        Naja, der eine so, der andere so. Für mich wäre es schon von Vorteil eine "Plug&Play-Sicherung" zu haben die ich zuvor komfortabel aus dem ioBroker gestartet habe. In der VIS soll eine schöne View mit diversen Systembefehlen laufen wo sich auch ein Backup-Button gut macht.
                        Backitup ist natürlich auch im Einsatz und sichert regelmäßig auf dem NAS. Wenn ich am System rumfummel starte ich das Backup-Script vorher von Hand. Alles kein Thema.
                        Trotzdem ist Neugier und der Wunsch nach etwas Komfort vorhanden, aber da das jetzt doch viel zu viel Zeit frisst muss eine von-Hand-Sicherung und Backitup reichen.

                        @fastfoot said in Script per exec ausführen / sudo Rechteproblem?:

                        @Bert Installiere dir den Terminaladapter und führe das Skript von dort aus. Das wird zwar auch nicht funktionieren aber du siehst womöglich sehr viel besser wo es hakt. Dort ist der user nämlich auch der iobroker

                        Terminaladapter habe ich probiert, aber wie du schon sagtest bringt mich das auch nicht weiter :man-shrugging:
                        Aber auch für den Tipp danke!

                        SBorgS 1 Antwort Letzte Antwort
                        0
                        • B Bert

                          Hallo zusammen,
                          sorry für die späte Antwort, haben spontan ein paar Tage Urlaub gemacht...

                          @Thomas-Braun said in Script per exec ausführen / sudo Rechteproblem?:

                          @CrunkFX sagte in Script per exec ausführen / sudo Rechteproblem?:

                          und dann kann evtl jemand der sich mit Linux auskennt das Mal anschauen. Vielleicht @Thomas-Braun

                          Von skripten und insbesondere JavaSkript hab ich keine Ahnung.
                          Soll das oben ein shell-skript sein? Dann fehlt da mindestens mal die shebang.

                          sorry, die Shebang ist vorhanden, hab ich nur nicht mitkopiert :man-facepalming:

                          @Thomas-Braun said in Script per exec ausführen / sudo Rechteproblem?:

                          @CrunkFX @Bert
                          Ich verstehe den Ansatz schon nicht:

                          ein Skript zusammenkopiert welches meine SD-Karte während des laufenden Betriebs klont, shrinkt, gzipt und anschließend auf meinen NAS verschiebt.

                          Ich sicher lediglich per backitup den ioBroker relevanten Kram weg, das System selber ist mir doch wumpe. Das zimmer ich ohnehin schnell fix auf eine neue SD-Karte, im Falle eines Falles. Da mach ich gar keine Klimmzüge für.

                          Naja, der eine so, der andere so. Für mich wäre es schon von Vorteil eine "Plug&Play-Sicherung" zu haben die ich zuvor komfortabel aus dem ioBroker gestartet habe. In der VIS soll eine schöne View mit diversen Systembefehlen laufen wo sich auch ein Backup-Button gut macht.
                          Backitup ist natürlich auch im Einsatz und sichert regelmäßig auf dem NAS. Wenn ich am System rumfummel starte ich das Backup-Script vorher von Hand. Alles kein Thema.
                          Trotzdem ist Neugier und der Wunsch nach etwas Komfort vorhanden, aber da das jetzt doch viel zu viel Zeit frisst muss eine von-Hand-Sicherung und Backitup reichen.

                          @fastfoot said in Script per exec ausführen / sudo Rechteproblem?:

                          @Bert Installiere dir den Terminaladapter und führe das Skript von dort aus. Das wird zwar auch nicht funktionieren aber du siehst womöglich sehr viel besser wo es hakt. Dort ist der user nämlich auch der iobroker

                          Terminaladapter habe ich probiert, aber wie du schon sagtest bringt mich das auch nicht weiter :man-shrugging:
                          Aber auch für den Tipp danke!

                          SBorgS Offline
                          SBorgS Offline
                          SBorg
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #14

                          @Bert Naja, nur weil ein "sudo" davor steht, heißt das noch lange nicht, dass der Befehl auch ausgeführt wird.
                          #6 dürfte schon scheitern, da normalerweise nur "root" mounten darf. Das klappt zwar dann mittels "sudo", nur muss man dann das root-Passwort eingeben (was in einem automatischem Skript eher schlecht geht)...
                          Versuche als Test einfach mal ein

                          sudo -u iobroker sudo mount -a
                          

                          Damit wird dein Befehl als User iobroker ausgeführt.

                          LG SBorg ( SBorg auf GitHub)
                          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                          1 Antwort Letzte Antwort
                          1
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          595

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe