FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: aho am 03 Oktober 2020, 14:06:25

Titel: Logfilemanagement
Beitrag von: aho am 03 Oktober 2020, 14:06:25
Hallo,

ich möchte Logdateien nicht unbegrenzt wachsen lassen und deshalb monatlich switchen, drei komprimierte alte Logfiles aufheben, alles ältere löschen.

Den monatlichen Logswitch lege ich über Platzhalter (hier "-%Y-%m") im Namen fest.

Aber dann geht es los: wenn ich das hier ...

ZitatDas Attribut nrarchive gibt an, wie viele FileLog-Dateien nach Ablauf der Gültigkeit im Original-Logverzeichnis verbleiben, bevor diese ins Archiv verschoben werden.
Quelle: https://wiki.fhem.de/wiki/Logfiles_archivieren

... richtig verstehe, dann legt nrarchive nur fest, wie viele alte Logs im logdir aufgehoben werden. Die sind immer unkomprimiert. archiveCompress legt demnach nur fest, ob diese Dateien anschließend gelöscht oder komprimiert/verschoben werden.

Wenn das stimmt, müsste ich meine Idee folgendermaßen implementieren:


Im archivedir räume ich dann folgendermaßen auf:

define at_logTidy at *05:00:00 {system("find /opt/fhem/log/archive -iname "*.gzip" -mtime +90 -delete")}


Also täglich um 05:00 Uhr alle gzip-Dateien löschen, die älter als drei 90 Tage sind.

Denke ich richtig? Oder funktionieren nrarchive/archiveCompress/archivedir anders und ich kann das at noch irgendwie einsparen?

BTW: Ist *.gzip richtig? In welchem Format legt archiveCompress die Dateien ab?

Besten Dank,
Andreas
Titel: Antw:Logfilemanagement
Beitrag von: amenomade am 03 Oktober 2020, 16:09:02
Du kannst auch in archivcmd deinen eigenen Befehl bauen. So macht er es genau wie Du es willst.
Titel: Antw:Logfilemanagement
Beitrag von: aho am 03 Oktober 2020, 17:18:38
Zitat von: amenomade am 03 Oktober 2020, 16:09:02
Du kannst auch in archivcmd deinen eigenen Befehl bauen. So macht er es genau wie Du es willst.

Ja, stimmt. Dann würde das Kommando immer genau mit dem Logswitch "zünden". Dann würde ich noch die Dateimaske ändern, damit ich nur die Logtateien der jeweiligen Serie aufräume.

Danke! :-)