Gibt es eine Möglichkeit logrotate zu bekommen, um nur Dateien X Anzahl der Tage geändert komprimieren vor (z mtime +2)logrotate - Komprimierung Dateien geändert x Anzahl der Tage
Antwort
Nun, Sie delaycompress können einen weiteren Zyklus zu warten. Grundsätzlich, wenn Sie täglich rotieren, wird es die Protokolle von Gestern unkomprimiert halten.
Außerdem kann man versuchen, nicht logrotate mit den Dateien zu komprimieren und einen Bash-Skript schreiben, wie einmal pro Tag laufen und alle Dateien, die älter als ein bestimmtes Datum komprimieren. Hier
ist ein Tutorial bash, dass ich persönlich mag: http://www.linuxconfig.org/Bash_scripting_Tutorial
Eine Option könnte sein logrotate
zu verwenden, um eine andere Erweiterung zu drehen, dann logrotate
verwenden in komprimierte Dateien zu drehen:
/var/log/raw.log {
daily
nocompress
extension .old
}
/var/log/*.old {
daily
compress
delaycompress
rotate 10
}
Diese Rube Goldberg-Vorrichtung wird zu folgendem führen:
raw.log
raw.log.old
raw.log.old.1
raw.log.old.2.gz
raw.log.old.3.gz
So haben Sie zwei archivierte Tage von Protokollen, die nicht komprimiert sind.
Können Sie so etwas wie die folgenden?
/var/log/access.log {
daily
nocompress
}
/var/log/access.7.log {
daily
compress
}
denke ich, dass Sie so etwas wie
access.log
access.1.log
access.2.log
access.3.log
access.4.log
access.5.log
access.6.log
access.7.log.gz
access.8.log.gz
access.log
Haben Sie es selbst geben testen? Wenn ja, wäre diese Antwort gut. – nalply
Irgendein Urteil? Das sieht fantastisch aus – Kevin
Das funktioniert nicht, da die Dekomprimierungsprotokolle nicht entfernt werden. Eine komprimierte Version wurde gerade hinzugefügt. –