Hi zusammen,
wie kann ich den watchdog ausschalten? Seit ich diesem aktiviert habe, startet fhem jede 30min neu.
sudo /etc/init.d/watchdog stop
sudo update-rc.d watchdog remove
1) disabled ihn runtime
2) verhindert das erneute starten nach boot
Was hält man denn von dem Lösungsvorschlag, den watchdog einfach richtig zu konfigurieren, damit der Raspi nicht mehr alle 30 Minuten gestartet wird?
ja, ginge auch, habe den Watchdog genauso installiert/aktiviert wie du beschrieben hast.
glaub ich nicht.
Zeig doch mal Deine /etc/watchdog.conf her.
bitte sehr
#ping = 172.31.14.1
#ping = 172.26.1.255
#interface = eth0
#file = /var/log/messages
#change = 1407
# Uncomment to enable test. Setting one of these values to '0' disables it.
# These values will hopefully never reboot your machine during normal use
# (if your machine is really hung, the loadavg will go much higher than 25)
max-load-1 = 24
#max-load-5 = 18
#max-load-15 = 12
# Note that this is the number of pages!
# To get the real size, check how large the pagesize is on your machine.
#min-memory = 1
#repair-binary = /usr/sbin/repair
#repair-timeout =
#test-binary =
#test-timeout =
watchdog-device = /dev/watchdog
# Defaults compiled into the binary
#temperature-device =
#max-temperature = 120
# Defaults compiled into the binary
#admin = root
#interval = 1
#logtick = 1
#log-dir = /var/log/watchdog
# This greatly decreases the chance that watchdog won't be scheduled before
# your machine is really loaded
#realtime = yes
#priority = 1
# Check if syslogd is still running by enabling the following line
#pidfile = /var/run/syslogd.pid
file = /opt/fhem/log/fhem.save
change = 2000
Gut. Wenn die Datei /opt/fhem/log/fhem.save 2000 Sekunden lang (also ca. 33 Minuten) nicht neu geschrieben wurde, erfolgt der reboot. Das führt der RaspberryPi ja auch völlig korrekt aus.
Hast Du denn in Deinem fhem dafür gesorgt,
DASS diese Datei regelmäßig geschrieben wird? Regelmäßig bedeutet in diesem Zusammenhang "in einem Intervall kleiner als 2000 Sekunden", ich würde empfehlen, alle 30 Minuten = 1800 Sekunden.
In meiner von Dir genannten Anleitung ist das ja auch beschrieben:
ZitatBei mir habe ich die Überwachung so gelöst, dass ich watchdog auf eine Datei prüfen lasse, von der ich genau weiss, dass fhem sie (bei mir) regelmäßig beschreibt. Per at-Definition werden bei mir sämtliche states aller Devices alle 30 Minuten gesichert. Ich habe also eine Datei fhem.save in /opt/fhem/log die sich alle halbe Stunde ändert. Perfektes Futter für den watchdog
Hi,
ja habe ich auch gemacht, als erstes
define at_FHEM.save at +*00:30:00 {WriteStatefile}
und als ich sah das er neustartet, dieses wieder gelöscht und dieses hier
define at_FHEM.save at +*00:30:00 save
Zitatdefine at_FHEM.save at +*00:30:00 {WriteStatefile}
Das ist schon völlig richtig. Bei Dir wird vermutlich das erste WriteStatefile nach dem Starten des Raspberry zu spät ausgeführt.
Teste mal bitte, das Intervall in Deinem at auf 5 Minuten zu setzen und beobachte, ob das hilft.
define at_FHEM.save at +*00:05:00 {WriteStatefile}
Und prüfe bitte auch, ob die Datei tatsächlich geschrieben wird.
ok, dann habe ich alles nochmal installiert und das writestate auf 5 min gesetzt.
Gruss Dirk
Aus solchen Gründen wird bei mir der watchdog immer erst nach dem fhem bzw. erst fünf Minuten nach dem reboot gestartet und nicht mehr als Systemdienst beim Starten selbst.
danke, das war es wohl. habe den writeState jetzt auf 15min stehen und die Sache läuft.
Danke und Gruss Dirk
Zitat von: betateilchen am 01 September 2014, 14:56:59
Aus solchen Gründen wird bei mir der watchdog immer erst nach dem fhem bzw. erst fünf Minuten nach dem reboot gestartet und nicht mehr als Systemdienst beim Starten selbst.
Sorry, English reply.
That is a very good idea.
Using the standard watchdog and init/configs to check file timestamps can have problems eg. after a crash or power outage. The machine may constantly reboot. The only way out is to edit config/disable watchdog, probably on another machine. Difficult if remote or inaccessible.
@betateilchen, wie hast du das gelöst, über cronjobs?
In my humble opinion it is cleaner to make proper use of the LSB Header Field "Required-Start: $all" for the watchdog service.
ymmv.
Zitat von: hyper2910 am 02 September 2014, 09:56:55
@betateilchen, wie hast du das gelöst, über cronjobs?
1. Entferne den watchdog aus der Liste der Dienste, die beim Systemstart automatisch geladen werden:
sudo update-rc.d watchdog remove
2. Füge in der Datei /etc/crontab folgende Zeile hinzu:
@reboot root /bin/sleep 300; /usr/bin/touch /opt/fhem/log/fhem.save; /etc/init.d/watchdog start
Zitat von: juppzupp am 02 September 2014, 10:07:33
In my humble opinion it is cleaner to make proper use of the LSB Header Field "Required-Start:
Not really helpful in this situation because "fhem started" is not a reliable indicator for "file touched in time" that is needed by watchdog.
Another problem: the fact that RaspberryPi does not have a RTC and timestamps may be unreliable before ntp synchronisation.
Hallo Udo,
Ich habe auf einem Rasp den Watchdog nach der Anleitung von Dir
http://forum.fhem.de/index.php/topic,20553.msg140813.html#msg140813 (http://forum.fhem.de/index.php/topic,20553.msg140813.html#msg140813)
installiert.
Der Watchdog funktioniert an sich auch wunderbar nur jetzt habe ich immer wieder das Problem,
wenn der Rasp länge Zeit aus ist und über Netz bootet aktualisiert der NTP Dienst die Zeit
und somit meint der Watchdog das File ist alt und bootet. :'(
Jetzt dachte ich, dass ich die perfekte Lösung hier gefunden habe,
aber leider kann ich den Dienst nicht deaktivieren. (Siehe Fehlermeldung)
root@pi ~ # sudo update-rc.d watchdog remove
update-rc.d: using dependency based boot sequencing
Habe es auch mit
root@pi ~ # sudo update-rc.d -f watchdog remove
update-rc.d: using dependency based boot sequencing
versucht aber auch ohne erfolg.
Hat jemand eine Idee woran, dass liegen könnte?
Nette Grüße
Hannes
update-rc.d: using dependency based boot sequencing
That is status message not an error.
sudo update-rc.d watchdog remove
It should have removed all the Start/Kill links in /etc/RC*.d
@fruit: Thank you.
An important note is that if you wish to run watchdog from /etc/init.d/watchdog either manually or from a cron job it still reads /etc/default/watchdog and requires
run_watchdog=1
Hello fruit,
thanks again, I'm so stupid.
The idea simply times to restart it the Rasp I did not come. :-[
@betateilchen: Hätte ich mir eigentlich denken können, dass ein Vorschlag von Dir einfach "nur funktioniert", wenn man sich an die Beschreibung hält 8)
Greetings
Hannes
Hallo zusammen,
ich habe meine cronetab nach der Anleitung von betateilchen geändert.@reboot root /bin/sleep 120; /usr/bin/touch /opt/fhem/log/fhem.heartbeat; /etc/init.d/watchdog start
Leider wird so bei mir der watchdog nicht gestartet auch nicht nach den 120 sec.
Irgend etwas mache ich da wohl noch falsch. Kann mir jemand helfen?
Viele Grüße und schönes Wochenende
Harald
PS: Alles zurück! Es klappt doch :D - ich war zu ungeduldig :-[