Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Fehler in iobroker.sh

    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

    Fehler in iobroker.sh

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

      Hallo alle
      Ich verwende folgendes iobroker.sh in etc/init.d:

      #!/bin/bash
      ### BEGIN INIT INFO
      # Provides: iobroker.sh Required-Start: $network $local_fs $remote_fs Required-Stop:: $network $local_fs $remote_fs Default-Start: 2 
      # 3 4 5 Default-Stop: 0 1 6 Short-Description: starts ioBroker Description: starts ioBroker
      ### END INIT INFO
      (( EUID )) && echo .You need to have root privileges.. && exit 1 
      PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=/usr/local/bin/node 
      IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js RETVAL=0 IOBROKERUSER=root start() {
                  export IOBROKER_HOME=/opt/iobroker
                  echo -n "Starting ioBroker"
                  sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD start
                  RETVAL=$?
      }
      stop() {
                  echo -n "Stopping ioBroker"
                  sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD stop
                  RETVAL=$?
      }
      case "$1" in
          start)
            start
        ;;
          stop)
            stop
        ;;
          restart)
            stop
            start
        ;;
          *)
            echo "Usage: iobroker {start|stop|restart}"
            exit 1
        ;; esac exit $RETVAL
      
      

      Ich habe vorhin im Syslog aber folgende Zeilen gefunden

      Feb 25 04:28:06 localhost systemd[1]: Starting iobroker.service...
      Feb 25 04:28:06 localhost iobroker.sh[14053]: /etc/init.d/iobroker.sh: line 8: syntax error near unexpected token `('
      Feb 25 04:28:06 localhost iobroker.sh[14053]: /etc/init.d/iobroker.sh: line 8: `IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js RETVAL=0 IOBROKERUSER=root start() {'
      Feb 25 04:28:06 localhost systemd[1]: iobroker.service: Control process exited, code=exited status=2
      Feb 25 04:28:06 localhost systemd[1]: Failed to start iobroker.service.
      Feb 25 04:28:06 localhost systemd[1]: iobroker.service: Unit entered failed state.
      Feb 25 04:28:06 localhost systemd[1]: iobroker.service: Failed with result 'exit-code'.
      
      

      Ich nehme an, das ist auch der Grund warum Iobroker bei Reboot nicht startet. Aber wo ist da genau der Syntaxfehler?
      Gruss Ralf

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

        Es fehlen einige LF (line feed) in folgendem Bereich:

        (( EUID )) && echo .You need to have root privileges.. && exit 1
        PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
        NODECMD=/usr/local/bin/node
        IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
        RETVAL=0
        IOBROKERUSER=root
        
        start() {
                    export IOBROKER_HOME=/opt/iobroker
        

        und am Ende

              exit 1
          ;;
        esac
        exit $RETVAL
        
        D 1 Reply Last reply Reply Quote 0
        • D
          derrapf @paul53 last edited by

          @paul53
          Danke!
          Um es einfacher zu machen:
          Kannst Du mir ev. eine iobroker.sh hier reinstellen die funktoniert?

          Gruss Ralf

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @derrapf last edited by

            @derrapf
            Bei Dir hat NODECMD einen anderen Pfad als bei mir. Was ergibt ?

            which node
            
            D 1 Reply Last reply Reply Quote 0
            • D
              derrapf @paul53 last edited by

              @paul53
              Da kommt

              root@ioBroker-Rock64:~# which node
              /usr/bin/node
              
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @derrapf last edited by

                @derrapf sagte

                /usr/bin/node

                Dann stimmt sie doch mit meinem Pfad überein, oder hast Du 2 Node-Versionen installiert ? Was ergibt ?

                /usr/bin/node -v
                /usr/local/bin/node - v
                
                D 1 Reply Last reply Reply Quote 0
                • D
                  derrapf @paul53 last edited by derrapf

                  @paul53
                  Erster Befehl:

                  root@ioBroker-Rock64:~# /usr/bin/node -v
                  v8.15.0
                  

                  Zweiter Befehl

                  root@ioBroker-Rock64:~# /usr/local/bin/node - v
                  -bash: /usr/local/bin/node: No such file or directory
                  

                  Kann aber sein dass das iobroker.sh das ich da verwende ein Falsche ist. Das könnte noch vom Raspi stammen. Das habe ich übernommen weil beim Image von Rainer für den Rock64 keines dabei war.
                  Gruss Ralf

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @derrapf last edited by paul53

                    @derrapf sagte):

                    Kann aber sein dass das iobroker.sh das ich da verwende ein Falsche ist.

                    Das ist es mit Sicherheit. Hier ein (hoffentlich) passendes.

                    #!/bin/bash
                    ### BEGIN INIT INFO
                    # Provides:          iobroker.sh
                    # Required-Start:    $network $local_fs $remote_fs
                    # Required-Stop::    $network $local_fs $remote_fs
                    # Default-Start:     2 3 4 5
                    # Default-Stop:      0 1 6
                    # Short-Description: starts ioBroker
                    # Description:       starts ioBroker
                    ### END INIT INFO
                    (( EUID )) && echo .You need to have root privileges.. && exit 1
                    PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
                    NODECMD=/usr/bin/node
                    IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
                    RETVAL=0
                    IOBROKERUSER=root
                    
                    start() {
                                export IOBROKER_HOME=/opt/iobroker
                                echo -n "Starting ioBroker"
                                sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD start
                                RETVAL=$?
                    }
                    
                    stop() {
                                echo -n "Stopping ioBroker"
                                sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD stop
                                RETVAL=$?
                    }
                    case "$1" in
                        start)
                          start
                      ;;
                        stop)
                          stop
                      ;;
                        restart)
                          stop
                          start
                      ;;
                        *)
                          echo "Usage: iobroker {start|stop|restart}"
                          exit 1
                      ;;
                    esac
                    exit $RETVAL
                    

                    oder als Datei iobroker.sh

                    1 Reply Last reply Reply Quote 0
                    • D
                      derrapf last edited by

                      Super. Danke. Probier ich gleich aus nachher aus.
                      Gruss Ralf

                      1 Reply Last reply Reply Quote 0
                      • D
                        derrapf last edited by

                        Hallo Paul
                        Kann Teilerfolg vermelden.
                        Der Fehler taucht im Syslog nicht mehr auf. Allerdings startet der IOBroker beim Booten aber auch nicht.

                        Gruss Ralf

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @derrapf last edited by paul53

                          @derrapf Startet ioBroker bei der Eingabe von ?

                          /etc/init.d/iobroker.sh start
                          

                          Was ergibt ?

                          ls -l /etc/init.d/iobroker.sh
                          
                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @paul53 last edited by

                            @paul53
                            Gaaanz vorsichtig:
                            ich meine die neuen Installationen arbeiten nicht mehr mit init.d - oder??

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Homoran last edited by

                              @Homoran sagte

                              ich meine die neuen Installationen arbeiten nicht mehr mit init.d - oder??

                              Richtig, aber ich denke, @derrapf verwendet ein älteres Image für den Rock64.

                              1 Reply Last reply Reply Quote 0
                              • AlCalzone
                                AlCalzone Developer last edited by AlCalzone

                                @derrapf
                                Wie alt ist deine Installation? Evtl lohnt sich ein Backup und Ausführen des Fixer-Skripts.

                                Aber dazu sollten wir sicher sein, dass nicht doch 2 Node-Versionen laufen.

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @AlCalzone last edited by

                                  @AlCalzone sagte:

                                  Aber dazu sollten wir sicher sein, dass nicht doch 2 Node-Versionen laufen.

                                  Also was ergibt ?

                                  nodejs -v
                                  

                                  Dass unter /usr/local/bin node nicht existiert, wurde bereits geprüft.

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    derrapf last edited by derrapf

                                    Hallo Rainer
                                    Da ich eines Deiner ersten Images verwende nehme ich an, ich verwende noch eine "alte" IOBroker Installation. Was ist jetzt eigentlich an der "Neuen" genau anders?
                                    @Paul

                                    root@ioBroker-Rock64:~# /etc/init.d/iobroker.sh start
                                    Starting ioBrokeriobroker controller daemon already running. PID: 2634
                                    
                                    root@ioBroker-Rock64:~# ls -l /etc/init.d/iobroker.sh
                                    -rwxrwxrwx 1 root root 1098 M▒r  4 15:03 /etc/init.d/iobroker.sh
                                    
                                    root@ioBroker-Rock64:~# nodejs -v
                                    v8.15.0
                                    
                                    

                                    Funktioniert alles wie erwartet. IOBroker läuft aktuell tatsächlich.

                                    Evtl lohnt sich ein Backup und Ausführen des Fixer-Skripts.

                                    Hmmm. Würde ich eigentlich nur machen wenn es nicht anders geht und signfikante Vorteile bietet.
                                    Würde mir ungern die aktuelle Installation zerschiessen.
                                    Deswegen auch die Frage was da denn da nun genau anders ist.
                                    Gruss Ralf

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

                                      ioBroker zu starten, wenn es bereits läuft, bringt diese Meldung. Also erst iobroker stoppen und dann wieder starten.

                                      /etc/init.d/iobroker.sh stop
                                      /etc/init.d/iobroker.sh start
                                      

                                      Was ergibt ?

                                      ls -l /etc/rc?.d/*iob*
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        derrapf last edited by derrapf

                                        @paul53 sagte in Fehler in iobroker.sh:

                                        /etc/init.d/iobroker.sh stop
                                        /etc/init.d/iobroker.sh start

                                        Hi Paul. Schon klar. Dachte Du wolltest sehen, ob das Script funktioniert. Und das tut es ja, wenn es feststellt, dass IObroker schon läuft oder?
                                        Aber bitteschön:

                                        root@ioBroker-Rock64:~# /etc/init.d/iobroker.sh stop
                                        Stopping ioBrokerStopping iobroker controller daemon...
                                        
                                        iobroker controller daemon stopped.
                                        Exit code for "killall.sh": 123
                                        root@ioBroker-Rock64:~# /etc/init.d/iobroker.sh start
                                        Starting ioBrokerStarting iobroker controller daemon...
                                        iobroker controller daemon started. PID: 3514
                                        root@ioBroker-Rock64:~#
                                        
                                        

                                        Ich glaub hier ist was faul, oder?

                                        root@ioBroker-Rock64:~# ls -l /etc/rc?.d/*iob*
                                        ls: cannot access '/etc/rc?.d/*iob*': No such file or directory
                                        root@ioBroker-Rock64:~#
                                        

                                        Gruss Ralf

                                        paul53 1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @derrapf last edited by

                                          @derrapf Es fehlen dei Links zum Starten und Stoppen. Mache

                                          update-rc.d iobroker.sh defaults
                                          reboot
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            derrapf last edited by

                                            LÄUFT!!!
                                            Das war's. Danke!
                                            You made my day!

                                            Gruss Ralf

                                            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

                                            885
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            5
                                            22
                                            1002
                                            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