The Geek Stuff hat ein Beispiel dafür logrotate
. copytruncate
kopiert und schneidet die ursprüngliche Protokolldatei ab.
Warum sollten wir dann verwenden create
? Die ursprüngliche Protokolldatei wurde nicht entfernt.
/tmp/output.log {
size 1k
copytruncate
create
compress
compresscmd /bin/bzip2
compressext .bz2
rotate 4
maxage 100
}
Eine andere Frage ist, wofür wird es verwendet maxage 100
? Die rotate 4
Direktive löscht alte Logdateien nach 4 Umdrehungen.
man logrotate
sagt sogar so: " copytruncate : [...] Wenn diese Option verwendet wird, hat die Option create keine Wirkung, da die alte Protokolldatei an Ort und Stelle bleibt."maxage 100
löscht gedrehte Dateien, wenn sie älter als 100 Tage sind und die aktuelle Datei gedreht wird; auch wenn weniger als4
gedrehte Dateien existieren.Antworten:
Das ist wahrscheinlich ein Fehler, der nur in einem Beispiel in diesem Tutorial zu finden ist. Alle anderen Beispiele haben
copytruncate
ohne diecreate
Option. Außerdem gibt dielogrotate
Manpage an , dass es tatsächlich ignoriert wird :In Bezug auf
maxage
, ich denke , es kann beispielsweise für Logfiles nützlich sein , die für wenige Rotationsperioden leer sein (Tage / Wochen / Monate) - wenn Sie verwendennotifempty
leer Logfile so dass Sie werden nicht zu alt anstelle noch gedreht Dateien, gedreht haben .quelle