Navigation

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

    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

    Ausfallsicherung

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Smartin @Armilar last edited by Smartin

      Ja, wie schon gesagt, ich bin da auch nicht so zimperlich. Sollte das System tatsächlich doch Schaden nehmen, setze ich es eben neu auf, Backups habe ich ja. Und ca. alle 4 Wochen spiegele ich die SD Karte auf eine andere, sodass ich schnell wieder am Start wäre mit relativ wenig Aufwand.
      Ich habe jetzt mal den Ansatz von @emil70 versucht mit dem Shellscript und dem curl Befehl (der auf der Konsole ohne Probleme funktioniert).
      Allerdings komme ich da nicht recht weiter.

      #!/bin/bash
      #CONFIGURATION
      #IP of host
      GERAET=RasPi1
      WATCH_IP="192.168.1.109"
      #path to logfile
      LOGFILE="/media/fritz.nas/SAMSUNG/RasPI/raspi1.log"
      #duration between pings
      PAUSE1=120
      PAUSE2=10
      #how many failed pings before log
      TESTS=2
      #SCRIPT
      #initialize
      MISSED=0
      # touch $LOGFILE
      #-lt = lesser than = kleiner als
      #-eq = equal = Gleichheit
      #-ne = not equal = Ungleichheit
      #-le = lesser or equal = kleiner oder gleich
      #-ge = greater or equal = größer oder gleich
      #-gt = greater than = größer als
      while true; do
      if ! ping -c 1 -w 1 $WATCH_IP > /dev/null; then echo $MISSED
      ((MISSED++))
      else
      if [ $MISSED -ge $TESTS ]; then
      echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
      fi
      MISSED=0
      fi;
      if [ $MISSED -eq $TESTS ]; then
      echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
      curl -s http://192.168.1.42/cm?cmnd=Power%20off
      sleep $PAUSE2;
      curl -s http://192.168.1.42/cm?cmnd=Power%20on
      fi
      sleep $PAUSE1;
      done
      
      

      Das Script bleibt aber mit der Meldung

      ./restart_raspi1.sh: 33: ./restart_raspi1.sh: MISSED++: not found
      

      hängen, stört sich also an der Addition der Fehlversuche.
      Bei shellCheck wird das Script als völlig korrekt angezeigt.
      Was mache ich denn falsch? Oder würde das so überhaupt funktionieren?
      Der Logfile wird erstellt, die Datei ist vorhanden (habe den touch Aufruf daher wieder auskommentiert).
      Vielleicht könnt ihr nochmal drüber gucken ...

      Armilar E 2 Replies Last reply Reply Quote 0
      • Armilar
        Armilar Most Active Forum Testing @Smartin last edited by

        @smartin
        okay - dann bin ich raus... 😊

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

          Da ich hier noch nichts dazu gelesen habe noch eine Info:

          Der Raspi4 hat wenn mein Wissensstand richtig ist einen HArdware Watchdog. Sollte sich der Pi4 aufhängen, d.h. der Watchdog nicht rechtzeitig getriggert werden, dann gibts einen HW Reset.

          Welche Auswirkungen das auf Linux, insbesondere auf das Filesystem hat kann ich nict sagen. Da sollte man unbedingt noch genauer nachforschen.

          https://www.gieseke-buch.de/raspberrypi/eingebauten-hardware-watchdog-zur-ueberwachung-nutzen#:~:text=Eine der Besonderheiten des Raspberry,Störung nicht mehr ordnungsgemäß läuft.

          https://www.raspberry-buy.de/Tutorial_Raspberry_Pi_Watchdog_installieren_konfigurieren_aktivieren.html

          Thomas Braun 1 Reply Last reply Reply Quote 1
          • Santos
            Santos last edited by

            Die Idee mit dem Watchdog direkt in der HW finde cool, würde auch installieren!

            1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @mcm1957 last edited by Thomas Braun

              @mcm57 sagte in Ausfallsicherung:

              Welche Auswirkungen das auf Linux, insbesondere auf das Filesystem hat kann ich nict sagen. Da sollte man unbedingt noch genauer nachforschen.

              Ich hab das hier laufen, allerdings triggert hier die Load 1 Min.
              Der Wachhund hat aber außerhalb von Tests nie angeschlagen.

              Die Anleitungen sind übrigens veraltet, mittlerweile ist das kein nachladbares Kernelmodul mehr sondern direkt in den Kernel gebacken worden.

              1 Reply Last reply Reply Quote 0
              • E
                emil70 @Smartin last edited by emil70

                @smartin sagte in Ausfallsicherung:

                Gibt mal über Konsole das ein und poste den Log. Der wird da angelegt wo das script liegt

                sh -x ./restart_raspi1.sh > debug.txt 2>&1
                

                Edit:

                Der Logfile wird erstellt, die Datei ist vorhanden (habe den touch Aufruf daher wieder auskommentiert).

                Dann solltest du auch

                #echo date "-" $GERAET "ist wieder online." >> $LOGFILE;
                #echo date "-" $GERAET "wurde neu gestartet." >> $LOGFILE;
                
                S 1 Reply Last reply Reply Quote 0
                • S
                  Smartin @emil70 last edited by

                  @emil70

                  debug.txt

                  + GERAET=RasPi1
                  + WATCH_IP=192.168.1.109
                  + LOGFILE=/media/fritz.nas/SAMSUNG/RasPI/raspi1.log
                  + PAUSE1=120
                  + PAUSE2=10
                  + TESTS=2
                  + MISSED=0
                  + true
                  + ping -c 1 -w 1 192.168.1.109
                  + echo 0
                  0
                  + MISSED++
                  ./restart_raspi1.sh: 32: ./restart_raspi1.sh: MISSED++: not found
                  + [ 0 -eq 2 ]
                  + true
                  + ping -c 1 -w 1 192.168.1.109
                  + echo 0
                  0
                  + MISSED++
                  ./restart_raspi1.sh: 32: ./restart_raspi1.sh: MISSED++: not found
                  + [ 0 -eq 2 ]
                  + true
                  + ping -c 1 -w 1 192.168.1.109
                  + echo 0
                  0
                  

                  Deinen 2. Absatz verstehe ich nicht so ganz. Muss der touch Aufruf immer aktiv bleiben um das Log zu schreiben? Ich dachte das Logfile wird damit nur erstellt und die Logzeilen werden dann immer dort angehängt wenn er vorhanden ist. Deswegen hatte ich den Aufruf nach dem erstellen des Logfiles deaktiviert.

                  E F 2 Replies Last reply Reply Quote 0
                  • E
                    emil70 @Smartin last edited by emil70

                    @smartin

                    wegen dem 2.Absatz, hatte ich das falsch verstanden

                    touch $LOGFILE
                    

                    wird nicht benötigt, da mit

                    >> $LOGFILE
                    

                    er angelegt wird

                    Zu deinem Fehler. Ist die anzupingene IP die Richtige?
                    Da bei dir ein

                    echo 0
                    

                    kommt

                    Die Meldung

                    MISSED++: not found
                    

                    ist Richtig, wird sobald ein

                    + MISSED=0
                    

                    und nicht ein

                    echo 0
                    

                    nicht mehr erscheinen

                    So der Log bei mir au smit deinen daten, da ich die IP nicht habe

                    + GERAET=RasPi1
                    + WATCH_IP=192.168.1.109
                    + LOGFILE=/var/log/Sonoff/test.log
                    + PAUSE1=120
                    + PAUSE2=10
                    + TESTS=2
                    + MISSED=0
                    + true
                    + ping -c 1 -w 1 192.168.1.109
                    + echo 0
                    0
                    + MISSED++
                    ./test.sh: 25: ./test.sh: MISSED++: not found
                    + [ 0 -eq 2 ]
                    + sleep 120
                    + true
                    + ping -c 1 -w 1 192.168.1.109
                    + echo 0
                    0
                    + MISSED++
                    ./test.sh: 25: ./test.sh: MISSED++: not found
                    + [ 0 -eq 2 ]
                    + sleep 120
                    + true
                    + ping -c 1 -w 1 192.168.1.109
                    + echo 0
                    
                    

                    So mit einer IP von mir

                    + GERAET=Gartentorbeleuchtung1
                    + WATCH_IP=12.16.8.57
                    + LOGFILE=/var/log/Sonoff/Gartentorbeleuchtung1.log
                    + PAUSE=60
                    + TESTS=10
                    + MISSED=0
                    + true
                    + ping -c 1 -w 1 12.16.8.57
                    + echo 0
                    0
                    + MISSED++
                    ./Gartentorbeleuchtung1.sh: 31: ./Gartentorbeleuchtung1.sh: MISSED++: not found
                    + [ 0 -eq 10 ]
                    + sleep 60
                    + true
                    + ping -c 1 -w 1 12.16.8.57
                    + [ 0 -ge 10 ]
                    + MISSED=0
                    + [ 0 -eq 10 ]
                    + sleep 60
                    + true
                    + ping -c 1 -w 1 12.16.8.57
                    + [ 0 -ge 10 ]
                    + MISSED=0
                    + [ 0 -eq 10 ]
                    + sleep 60
                    + true
                    + ping -c 1 -w 1 12.16.8.57
                    + [ 0 -ge 10 ]
                    + MISSED=0
                    + [ 0 -eq 10 ]
                    + sleep 60
                    + true
                    + ping -c 1 -w 1 12.16.8.57
                    + [ 0 -ge 10 ]
                    + MISSED=0
                    
                    

                    Edit: Du muss, wenn Alles geht in die

                    /etc/crontab
                    

                    das reinschreiben, so wie das script ausgführt und die Prüfschleife wiederholt sich immer wieder

                    @reboot root /dein Pfad zum script/restart_raspi1.sh
                    

                    Danch ein reboot durchführen

                    1 Reply Last reply Reply Quote 0
                    • P
                      peterfido last edited by

                      Wie wäre es mit einem Skript auf dem Raspi selbst? Also z.B. minütlich prüfen, ob ein Ping, z.B. zum Router fehl schlägt und dann einen Reboot hinlegen.

                      Hängt der Raspi selbst, kann man nach einer längeren Zeit, wie z.B. 5 Minuten, die Steckdose immer noch kurz abschalten.

                      Zur Fehlersuche würde ich mir den freien RAM mitloggen.

                      1 Reply Last reply Reply Quote 0
                      • F
                        falkomfs @Smartin last edited by

                        @smartin
                        https://www.ute.de/produkte/pdus/zwischenstecker-fuer-steckdosen/ip-single-pro.html#:~:text=Die IP-Steckdosenleiste verfügt zudem,automatisch die Stromversorgung wieder her.

                        wenn der PI wirklich nicht anpingbar ist.

                        Santos 1 Reply Last reply Reply Quote 0
                        • Santos
                          Santos @falkomfs last edited by

                          Meine Ausfallsicherung funktioniert so, dass ich Raspi an einem Fritzbox DECT Schalter hängen habe. Falls ich im Urlaub nicht auf meine Smarthome-Geräte zugreifen kann, starte ich über die FritzApp den DECT Zwischenstecker neu. Leider funktioniert die App seit der Umstellung auf Glasfaser nicht mehr.
                          Aber die Idee mit dem eingebauten Watchdog finde ich richtig gut, warum nutzt es hier keiner?

                          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

                          756
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

                          11
                          32
                          1768
                          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