Hauptmenü

Logfilemanagement

Begonnen von aho, 03 Oktober 2020, 14:06:25

Vorheriges Thema - Nächstes Thema

aho

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:


  • nrarchive = 0 --> keine unkomprimierten alten Logs aufheben, nach dem Logswitch sofort ...
  • archiveCompress = 1 --> ... komprimieren, niemals löschen ...
  • archivedir =  ./log/archive/ --> ... und hier ablegen.

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

amenomade

Du kannst auch in archivcmd deinen eigenen Befehl bauen. So macht er es genau wie Du es willst.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

aho

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! :-)