Hallo zusammen,
ich habe folgendes Problem:
FHEM läuft auf einem Raspi, die MySQL (MariaDB) dazu auf meinem Synology NAS.
Hier schreibt fhem alle LOGs rein (parallel noch in files auf dem Raspi)
Jeden Sonntag machen ich über die Synology ein backup der MariaDB und ab diesem Zeitpunkt schreibt fhem nicht mehr in die Datenbank.
Kann man dem DBLog-Modul evtl. einen retry der Verbindung beibringen, sodass nach dem backup der DB wieder weiter geloggt wird?!
mach nach der gesicherten Maria einen DBLog Reconnect, dann sollte das Problem erlegt sein
Hallo,
Du kannst versuchen den Code von hier (http://forum.fhem.de/index.php/topic,38324.0.html) in 93_dblog.pm einzubauen. Damit wird bei jedem Schreibzugriff geprüft ob die Verbindung zur DB noch besteht. Wenn nötig wird die Verbindung vor dem Schreiben neu aufgebaut. Die aktuelle Version des Codes findest du in Beitrag 13.
Grüße,
ChrisD
hm ok. Ich dachte eher, dass sowas ggf. offiziell ins Modul mit einfliessen könnte anstatt an selbstgestrickte workarounds. aber gut ...
Ich habe jetzt mal als Übergangslösung Wuppi68's Ansatz genommen:
define myDbLog_reopen at *07:00 { if ($wday == 0) { fhem ("set myDbLog reopen") } }
Danke für den Vorschlag, das sollte zumindest verhindern das tage- oder wochenlang nicht geloggt wird ...
Der reopen brachte doch nicht die Lösung. Nachdem ich heute gemerkt habe dass das logging nicht funktioniert habe ich probiert händisch die DB connection neu zu öffnen mit folgendem Befehl:
{ if ($wday == 1) { fhem ("set myDbLog reopen") } }
Resultat war leider:
ZitatDBD::mysql::db commit failed: MySQL server has gone away at ./FHEM/93_DbLog.pm line 1292.
Jemand eine Idee dazu?!
Edit: Hat vlt. auch was mit einem Update der 93_dblog.pm zu tun, weil ich mir einbilde dass es eine Zeit lang funktionierte ...