Linux: Logdateien in logrotate aufnehmen

Viele Programme erzeugen Logdateien, leider werden jedoch einige nicht automatisch rotiert und wachsen so immer weiter an. Mit Hilfe des Tools “logrotate” kann man die Dateien in die Rotation aufnehmen.
 
 

Als erstes legen wir eine neue Datei im Verzeichnis “/etc/logrotate.d” an. Der Übersichtlichkeit benenne ich diese Dateien immer nach dem Logfile, dass ich rotieren möchte. Der Inhalt der Datei sieht dann wie folgt aus:
 

/var/log/xferlog Pfad des zu rotierenden Logfiles
weekly Angabe wie häufig das Logfile rotiert werden soll
rotate 6 Anzahl der aufzubewahrenden Logfiles
compress Komprimieren des Logfiles
delaycompress Verschiebt die Komprimierung des letzten Logfiles auf die nächste Rotation
notifempty Ist das Logfile leer, wird es nicht rotiert
missingok Existiert das Logfile nicht wird mit der nächsten Datei weitergemacht

 
Testen lässt sich dies Anschließend mit Hilfe von
logrotate -f -d /etc/logrotate.d/DATEINAME
 

-d

verwendet den Debug-Modus und zeigt Informationen zum Rotationsvorgang an, es werden keine Veränderungen an den Dateien vorgenommen
-f

–force erzwingt die Rotation auch wenn sie noch nicht notwendig ist.

 
Anleitung wurde mit Ubuntu 10.04 erstellt
 
Fazit: Mit “logrotate” können Logdateien ohne großen Aufwand in die Rotation mit aufgenommen werden. Es gibt noch eine Menge zusätzliche Parameter für die Konfigurationsdatei, die ich persönlich aber nicht verwende. Diese könnt Ihr in der Manpage nachlesen man logrotate .
 
 
Klar soweit?
Euer RSB
 

2 Antworten zu “Linux: Logdateien in logrotate aufnehmen”

  1. micha sagt:

    öhm, ich hab das mal für php errors nachgestellt, bekomme da aber “error: /var/log/php/errors.log:16 lines must begin with a keyword or a filename” für jede zeile … wieso liest logrotate denn in der datei rum?

Hinterlasse eine Antwort