NEWS
IoBroker per Script überwachen?
-
Ist hier im Forum nicht irgend ein Script gepostet?
habe leider nichts gefunden
-
Ist hier im Forum nicht irgend ein Script gepostet?
habe leider nichts gefunden `
Selbst für einen Watchdog müsste man schauen, was sich verabschiedet. Wenn der js-controller noch läuft und du diesen überwachst, bringt es ja nix.
Und sowieso wäre es hilfreicher die Ursache zu bekämpfen. Also am besten ein Log vom entsprechenden Zeitpunkt bereitstellen, dann können wir dir helfen.
-
Mir würde es schon reichen wenn ich den Admin überwache
> selbst für einen Watchdog müsste man schauen, was sich verabschiedet. Wenn der js-controller noch läuft und du diesen überwachst, bringt es ja nix.
Gruß Dieter -
Adapter wie z.B. der Admin werden i.d.R. automatisch neu gestartet. Deshalb Fehlersuche.
-
Hier ist mein watchdog. In der crontab startet der alle 10 Minuten
Ich starte und stoppe iobroker mit einem script, das bei stop die Kontrolldatei 'noiobroker' anlegt, Das war mir wichtig, damit der watchdog nicht iobroker startet, wenn ich gerade am offenen Herzen operiere.
Mein watchdog hat aber schon ewig nicht mehr gebellt.
! #!/bin/bash
! #
! # watchdog
! #
! # Run as a cron job to keep an eye on what_to_monitor which should always
! # be running. Restart what_to_monitor and send notification as needed.
! #
! # This needs to be run as root or a user that can start system services.
! #
! # Revisions: 0.1 (20100506), 0.2 (20100507)
! NAME=iobroker.js-controller
! GREP=/bin/grep
! PS=/bin/ps
! NOP=/bin/true
! DATE=/bin/date
! MAIL=/bin/mail
! RM=/bin/rm
! if [ $(ls -1 /opt/iobroker | grep -c noiobroker) = 1 ];
! then
! exit 0
! fi
! $PS -ef|$GREP -v grep|$GREP $NAME >/dev/null 2>&1
! case "$?" in
! 0)
! # It is running in this case so we do nothing.
! $NOP
! ;;
! 1)
! echo -n $(date) >> /opt/iobroker/log/iowatchdog.log
! echo " # Watchdog bellt" >> /opt/iobroker/log/iowatchdog.log
! /etc/init.d/iobroker.sh restart
! ;;
! esac -
Hi Ostfriese,
danke für deine Rückmeldung.
Könntest du vieleicht genauer erklären wie und wo du die Scripte angelegt hast ?
Wie du das kontroll script startest.
Danke
Gruß Dieter
-
So, nun…
also ich habe auf dem iobroker rechner (raspeberry) ein extra verzeichnis für iobroker scripte angelegt: /opt/iobroker/etc
Hinweis: ich mache alles als root
dort gibt es u.a. drei scripte die hier wichtig sind
- das iowatchdog.sh
#!/bin/bash # # watchdog # # Run as a cron job to keep an eye on what_to_monitor which should always # be running. Restart what_to_monitor and send notification as needed. # # This needs to be run as root or a user that can start system services. # # Revisions: 0.1 (20100506), 0.2 (20100507) NAME=iobroker.js-controller GREP=/bin/grep PS=/bin/ps NOP=/bin/true DATE=/bin/date MAIL=/bin/mail RM=/bin/rm if [ $(ls -1 /opt/iobroker | grep -c noiobroker) = 1 ]; then exit 0 fi $PS -ef|$GREP -v grep|$GREP $NAME >/dev/null 2>&1 case "$?" in 0) # It is running in this case so we do nothing. $NOP ;; 1) echo -n $(date) >> /opt/iobroker/log/iowatchdog.log echo " # Watchdog bellt" >> /opt/iobroker/log/iowatchdog.log /etc/init.d/iobroker.sh restart ;; esac
- ein script mit dem ich iobroker stoppe und dem watchdog sagt, dass er es nicht wieder einschalten soll. Das steuere ich über das Vorhandensein der Datei '/opt/iobroker/noiobroker'. Wie du oben siehst, startet der watchdog nicht, wenn noiobroker da ist. Das brauche ich, damit iobroker nicht wieder startet während ich beispielsweise ein backup mache oder so.
#!/bin/bash >/opt/iobroker/noiobroker iobroker stop
- ein script, das iobroker wieder startet und den watchdog seine Arbeit machen lässt
#!/bin/bash iobroker start rm /opt/iobroker/noiobroker
Sorry wenns jetzt zu ausführlich wird:
alle drei scripte müssen per 'chmod +x *.sh' ausführbar gemacht werden
Dann noch den watchdog in die crontab einfügen: 'crontab -e'
Anfügen: */10 * * * * /opt/iobroker/etc/iowatchdog.sh
damit er alle 10 Minuten mal guckt ob iobroker noch läuft.
-
Hallo OstfrieseUnterwegs,
vielen Dank für deine ausführliche Doku.
Werde ich mal testen.
Gruß Dieter
-
Beachte aber was foxriver76 geschrieben hat. Mein watchdog fängt nur einen abgeschmierten js-controller ab. Wenn was anderes aus dem Ruder läuft, nützt der Wachhund nichts.
-
Hallo OstfrieseUnterwegs,
danke für deine Scripte,läuft hervorragend.
Gruß Dieter