Logrotation ist das regelmäßige Abschließen, Komprimieren und spätere Löschen von Protokolldateien. Die laufende Datei wird beiseitegelegt, der Dienst schreibt in eine neue, und die ältesten Stände fallen nach einer festgelegten Zahl heraus.
- Logrotation
Das regelmäßige Abschließen, Komprimieren und Löschen von Protokolldateien.
Beispiel: „Die Logrotation hält sieben Tagesstände vor und löscht alles Ältere.“Auf Linux-Systemen erledigt das
logrotate, gesteuert über Dateien unter/etc/logrotate.d. Angestoßen wird es über eine regelmäßige Aufgabe, siehe Cron Jobs.Abgrenzung zum Löschen von Hand: Eine Protokolldatei, die ein laufender Dienst offen hält, gibt ihren Platz beim Löschen nicht frei. Die Rotation sagt dem Dienst Bescheid und vermeidet genau das.
Warum ohne Logrotation die Platte volläuft
Weil Protokolle gleichmäßig wachsen und nie von sich aus aufhören. Ein Zugriffsprotokoll mit einer Million Zeilen liegt im Bereich mehrerer hundert Megabyte, und bei Angriffsversuchen vervielfacht sich das an einem Tag.
Eine volle Platte nimmt den ganzen Server mit: Die Datenbank schreibt nicht mehr, Sitzungen gehen verloren, und der Webserver antwortet mit einem Fehler. Der Zusammenhang zum Protokoll fällt dabei zuletzt auf.
Was bei der Logrotation mit dem Dienst geschieht
Er bekommt ein Signal und öffnet die Datei neu. Ohne diesen Schritt schreibt er weiter in die beiseitegelegte Datei, und die neue bleibt leer.
Bei Webservern läuft das über ein Nachladen der Konfiguration, das die laufenden Anfragen nicht abbricht. Deshalb ist die Rotation im Betrieb unauffällig und braucht kein Wartungsfenster.
Wie Logrotation und Aufbewahrung zusammenhängen
Die Zahl der vorgehaltenen Stände ist die Aufbewahrungsfrist. Sieben Tagesstände heißen sieben Tage, und damit ist die Frist technisch durchgesetzt statt nur vereinbart.
Wer länger auswerten will, etwa für eine Logfile-Analyse, zieht die Auswertung vor dem Löschen und hält danach nur noch Summen vor. Die bleiben ohne Personenbezug.