Filelog-Aufzeichnung stoppt nach Eingriff auf Filelog von ausserhalb

Begonnen von Lutz123, 10 November 2013, 09:40:51

Vorheriges Thema - Nächstes Thema

Lutz123

Guten Morgen Forum,
In einem Filelog zeichne ich minütliche Ereignisse auf. Um Mitternacht werte ich den Log aus und kürze danach das Log, indem ich aus dem Perl-Script ein Linux-Script mit dem "system()" - Komando aufrufe. Danach findet dummerweise keine Aufzeichnung mehr statt. Spiele ich am nächsten Tag auf der Fehlersuche mit dem Web-Frontend herum, springt die Aufzeichnung wieder an.
Verbose=3 zeichnet keine Fehlermeldung auf. Verbose=5 sprengt meine Speicherkapazität, Verbose=4, äh, noch nicht probiert.
Es gibt noch mehr Sachen, die ich ausprobieren kann, aber jetzt will ich erstmal hier in die Runde fragen:
Kann mir jemand Tipps zur Fehlersuche/-eingrenzung geben? Braucht ihr womöglich weitere Informationen über mein System?
Gruß von Lutz.

justme1968

ein file das ein prozess zum schreiben offen hat in einem zweiten prozess zu manipulieren ohne dem ersten etwas davon zu sagen hat genau solche nebenwirkungen.

ruf mal nach dem kürzen ein modify auf dein fhem log device auf. dadurch müsste es neu geöffnet werden und es sollte wieder funktionieren.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Lutz123

Danke vielmals, das werde ich ausprobieren.

Ich bin nun weder in Perl noch in Linux bewandert.
Ich glaube, das bei meinem "kuerzen.sh" - Script der Filehandler geändert wird. Dann nutzt es auch nichts, wenn ich statt "system()" es mit "exec()", "backticks()" oder "open()" versuche.
Das wären meine nächsten Versuche gewesen.
Selbst wenn es mit "modify" funktioniert, kommt mir das unelegant vor.

Gibt es hier im Forum andere, die ihre von FHEM geöffneten Logs manipulieren?

Nochmal Dank und einen schönen Sonntag. 

justme1968

was genau möchtest du denn an den logs ändern?

du kannst in fhem konfigurieren über welchen zeitraum sich ein log erstrecken soll (tag,woche,monat) und wie viele davon aufgehoben werden sollen. vielleicht hilft dir das auch schon.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Lutz123

Danke für das Interesse,

für die Auswertung des Logs mit Hilfe des Scriptes brauche ich nur 24h, das heißt, dafür würde die tageweise Aufzeichnung OHNE Archivierung genügen. Ich brauche aber die Möglichkeit, mich abends an den Computer zu setzen und den vergangenen Tag auf Auffälligkeiten zu untersuchen. Dafür bräuchte ich die, äh, 2-tag-Aufzeichnung. Das es sowas nicht gibt, Ts Ts Ts!
Mir ist nicht bekannt, das ich FHEM dazu bringen kann, die Logfiles nur zwei Tage aufzuheben. Eine gute Möglichkeit ist, mit Hilfe eines Scriptes die 3-Tage-und-älter-Archiv-Dateien zu löschen. Ich finde es aber sehr bequem, die letzten zwei Tage in EINEM Logfile zu haben. Ich werde beide Möglichkeiten ein paar Tage testen und schauen, welche mir am ehesten liegt.

Tausend Dank schonmal, Gruß von Lutz.

cwagner

Mein Vorschlag wäre ein
set <Name des Filelog in FHEM> reopen
nach der Manipulation. Und wenn Du das automatisieren willst: mit einem at irgendwann um 1.00 Uhr nachts regelmäßig dieses Reopen anzustoßen.

Ich selbst manipuliere auch immer wieder an den Log-Daten (ausdünnen, Fehlmessungen aussondern, Definitionen optimieren)... Bisher hatte ich nach einem Reopen kein Problem mehr.

Grüße

Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Lutz123

Ich bin jetzt ganz schön verlegen:

FHEM Referenz:

FileLog
Set
reopen
Reopen a FileLog after making some manual changes to the logfile.

Tut mir leid für die Mühen.

Grüße von Lutz