Logfiles archivieren

Aus FHEMWiki
Zur Navigation springen Zur Suche springen

Da ich das selbe Problem hatte wie MaMü in http://forum.fhem.de/index.php/topic,11811.msg71266.html#msg71266

möchte ich die vollständige Dokumentation hier festhalten. Herzlichen Dank an MaMü!

Attribut archivedir

Im Attribut archivedir gibt man das Verzeichnis an, welches als Archivverzeichnis "alter" Logdateien (FileLog) genutzt werden soll. Es MUSS mit einem "/" abschliessen! Der Ordner muss vorhanden sein. Vorsicht: Bei Linux ist auf Gross/Kleinschreibung und die Schreibberechtigung zu achten. Der Benutzer ist fhem und die Gruppe root. Es muss also mindestens der Benutzer fhem Schreibberechtigungen auf diesen Ordner haben!

Beispiel:

attr FileLog_FHT_Bad archivedir ./log-archive/

verschiebt "alte" Logdateien in das Verzeichnis "log-archive" unterhalb von FHEM. Es ist möglich, unterschiedliche Archivverzeichnisse zu definieren, denn dies wird pro (FileLog-pro-)Gerät gemacht.

Attribut nrarchive

Das Attribut nrarchive gibt an, wie viele FileLog-Dateien nach Ablauf der Gültigkeit im Original-Logverzeichnis verbleiben, bevor diese ins Archiv verschoben werden.

Beispiel a:

define FileLog_FHT_Bad FileLog ./log/FHT_Bad-%Y-%m.log FHT_Bad
attr FileLog_FHT_Bad archivedir ./log-archive/
attr FileLog_FHT_Bad logtype fht:Temp/Act,text
attr FileLog_FHT_Bad nrarchive 0
attr FileLog_FHT_Bad room 97.Filelogs


Hier wird definiert, dass für das FileLog für ein Bad ein Logfile (mit Daten aus einem FHT80b) geführt wird, dessen Dateiname monatlich wechselt. Die Dateinamen sind FHT_Bad-2013-01.log, FHT_Bad-2013-02.log usw...

nrarchive ist 0. Das bedeutet, dass zu jedem Monatswechsel die nun nicht mehr aktuelle FileLog-Datei ins Archive (archivedir) verschoben wird (es werden 0 "alte" Dateien im Orignalverzeichnis gehalten). Wenn man ein weblink_FHT_Bad hat und am 1. März mit dem grünen Pfeil einen Tag zurück browsen möchte, bleibt die Anzeige leer (was bei monatlicher Speicherung nicht weiter schlimm ist - aber eben ein Nebeneffekt).

Beispiel b:

define FileLog_FHT_Bad FileLog ./log/FHT_Bad-%Y-%m-%d.log FHT_Bad
attr FileLog_FHT_Bad archivedir ./log-archive/
attr FileLog_FHT_Bad logtype fht:Temp/Act,text
attr FileLog_FHT_Bad nrarchive 5
attr FileLog_FHT_Bad room 97.Filelogs


Hier wird definiert, dass für das FileLog für ein Bad ein Logfile (mit Daten aus einem FHT80b) geführt wird, dessen Dateiname täglich wechselt. Die Dateinamen sind FHT_Bad-2013-01-01.log bis FHT_Bad-2013-01-31.log usw...

nrarchive ist 5. Das bedeutet, dass zu jedem Tageswechsel die nun nicht mehr aktuelle FileLog-Datei so lange im Original-Logverzeichnis behalten wird, bis 5 davon in diesem Verzeichnis sind (es werden 5 "alte" Dateien im Orignalverzeichnis gehalten). Solche, die älter als 5 Tage sind, werden ins Archiv (archivedir) verschoben. Wenn man ein weblink_FHT_Bad hat und am 1. März mit dem grünen Pfeil einen Tag zurück browsen möchte, funktioniert das für die letzten 5 Tage.