Linux Log Rotation Konfiguration Anleitung – Schritt für Schritt

Linux Log Rotation Konfiguration Anleitung – Schritt für Schritt
  • Logrotate ist der Standard-Daemon zur automatischen Rotation und Komprimierung von Logdateien unter Linux.
  • Die Konfiguration erfolgt über die Hauptdatei /etc/logrotate.conf und separate Regeln in /etc/logrotate.d/.
  • Wichtige Direktiven: rotate, daily/weekly/monthly, compress, create, postrotate.
  • Testen Sie Ihre Konfiguration mit logrotate -d, bevor Sie sie aktivieren.
  • Typische Fehler: fehlendes Postrotate-Skript, falsche Dateirechte, zu aggressive Rotation.

Grundlagen verstehen: Was ist logrotate und warum brauchen Sie es?

Bevor wir in die Konfiguration einsteigen, sollten wir uns die Funktionsweise von logrotate genau ansehen. Es handelt sich um ein Dienstprogramm, das regelmäßig – meist täglich über einen Cron-Job – Ihre Logdateien überprüft. Sie definieren Regeln, nach denen alte Logs rotiert, komprimiert oder gelöscht werden. Warum ist das für Sie relevant? Unnötig große Logdateien können personenbezogene Daten enthalten, die Sie nicht unbegrenzt speichern dürfen. Eine saubere Log Rotation hilft Ihnen, konform zu bleiben – besonders in Frankreich mit der DSGVO/RGPD. Die Vorteile einer korrekten Konfiguration sind vielfältig: Speicherplatz sparen, Systemstabilität erhöhen, Übersichtlichkeit verbessern und Compliance gewährleisten. Ich selbst habe schon erlebt, wie eine vollgelaufene Platte einen Produktionsserver lahmlegte – nur weil die Logs nicht rotiert wurden. (Glauben Sie mir, das will niemand erleben.)

Die logrotate-Konfigurationsdatei finden und verstehen

Logrotate wird über Konfigurationsdateien gesteuert. Die Hauptkonfiguration liegt unter /etc/logrotate.conf. Zusätzlich können einzelne Dienste ihre eigenen Regeln im Verzeichnis /etc/logrotate.d/ ablegen. Öffnen Sie die Hauptkonfigurationsdatei mit sudo nano /etc/logrotate.conf. Dort sehen Sie globale Einstellungen wie rotate 4 (behalte 4 alte Versionen), weekly (Rotation einmal pro Woche), create (erzeuge neue leere Logdatei) und compress (komprimiere alte Logs mit gzip). Die Standardeinstellungen sind oft konservativ. Passen Sie sie an Ihre Bedürfnisse an – zum Beispiel rotate 12 für monatliche Rotation über ein Jahr. Für einen Server in Frankreich empfehle ich, die Aufbewahrungsfrist an die gesetzlichen Vorgaben anzupassen. Die DSGVO schreibt keine feste Frist vor, aber eine Aufbewahrung von 3 bis 6 Monaten ist üblich. Für sicherheitsrelevante Logs (z.B. Zugriffslogs) empfehlen viele Behörden bis zu 12 Monate.

Eigene logrotate-Regel für eine Anwendung erstellen

Jetzt wird es praktisch. Sie möchten zum Beispiel die Logs einer fiktiven Webanwendung namens „MeineApp“ verwalten. Erstellen Sie eine neue Regeldatei mit sudo nano /etc/logrotate.d/meineapp. Hier ein Beispiel:

/var/log/meineapp/*.log { daily rotate 7 compress delaycompress missingok notifempty create 644 www-data www-data postrotate systemctl reload meineapp.service > /dev/null 2>&1 || true endscript
}

Erklärung der Direktiven: daily für tägliche Rotation, rotate 7 behält 7 Tage alte Logs, compress komprimiert nach Rotation, delaycompress verzögert die Komprimierung um einen Zyklus (hilft, wenn die App noch schreibt), missingok verhindert Fehler bei fehlenden Logs, notifempty rotiert nicht bei leeren Dateien, create erstellt eine neue Logdatei mit Rechten 644 und Besitzer www-data, und postrotate führt nach der Rotation einen Befehl aus – hier ein Neuladen des Dienstes. Diese Methode – die ich seit Jahren verwende – ist robust und zuverlässig.

Konfiguration testen und manuell ausführen

Bevor Sie auf den Cron-Job vertrauen, sollten Sie die Regel testen. Logrotate bietet einen Debug-Modus: sudo logrotate -d /etc/logrotate.d/meineapp. Der Parameter -d (debug) zeigt Ihnen, was passieren würde, ohne tatsächlich etwas zu ändern. Für eine manuelle Ausführung (erzwungen) verwenden Sie sudo logrotate -f /etc/logrotate.d/meineapp. Überprüfen Sie danach, ob die Logs rotiert wurden (ls -la /var/log/meineapp/). Ich empfehle, nach jeder Änderung einen Testlauf durchzuführen. Das hat mir schon oft geholfen, Syntaxfehler zu entdecken.

Durch die Integration von Logrotate in Ihre Linux Server Log Analyse Skripte können Sie die Effizienz der Protokollverwaltung erheblich steigern.

Fortgeschrittene Techniken: Datumsbasierte Rotation und Größenlimits

Für spezielle Anforderungen können Sie die Rotation anpassen. Eine datumsbasierte Benennung (z.B. meineapp--03-15.log.gz) erreichen Sie mit den Direktiven dateext und dateformat -%Y-%m-%d. Die Rotation nach Dateigröße (z.B. bei 100 MB) konfigurieren Sie mit size 100M. Für einen stark frequentierten Webserver in Frankreich ist die größenbasierte Rotation oft sinnvoller als die zeitbasierte, da sie unabhängig von der Besucherzahl ist. Sehen wir uns eine Vergleichstabelle an:

MethodeVorteileNachteileEmpfohlen für
Zeitbasiert (daily/weekly)Einfach konfigurierbar, vorhersehbare IntervalleIgnoriert tatsächliche Log-GrößeSysteme mit gleichmäßiger Log-Produktion
Größenbasiert (size)Verhindert Überlauf, speicherplatzoptimiertUnregelmäßige RotationszeitpunkteHochlast-Webserver, variable Log-Volumen
Datumsbasiert (dateext)Leicht lesbare Dateinamen, gute ArchivierungErfordert zusätzliche KonfigurationCompliance-Anforderungen, Langzeitarchivierung

Globale Einstellungen anpassen und Abschluss

Zum Schluss sollten Sie die globale Konfiguration überprüfen. Öffnen Sie /etc/logrotate.conf und passen Sie z.B. die Standard-Rotationsanzahl an. Ein wichtiger letzter Schritt: Logrotate wird automatisch über einen Cron-Job ausgeführt. Überprüfen Sie mit sudo cat /etc/cron.daily/logrotate, ob der Job aktiv ist. Nach einer Änderung müssen Sie keinen Dienst neustarten – der Cron-Job liest die Konfiguration beim nächsten Lauf neu. Bitte beachten Sie: Eine unzureichende Konfiguration kann zu Datenverlust oder Systeminstabilität führen. Nehmen Sie sich Zeit für die Planung.

Häufige Fehler bei der Log Rotation (und wie Sie sie vermeiden)

  • Fehler 1: Kein Postrotate-Skript – Der Dienst schreibt weiter in die alte, nun umbenannte Datei. Lösung: Verwenden Sie postrotate mit systemctl reload oder kill -HUP.
  • Fehler 2: Falsche Dateirechte – Die neue Logdatei hat falsche Berechtigungen, sodass der Dienst nicht schreiben kann. Lösung: Setzen Sie create mit korrekten Rechten und Besitzer.
  • Fehler 3: Zu aggressive Rotation – Wichtige Logs werden gelöscht, bevor Sie sie auswerten konnten. Lösung: Erhöhen Sie rotate oder wechseln Sie zu monthly.
  • Fehler 4: Keine Komprimierung bei großen Logs – Speicherplatz wird unnötig belegt. Lösung: Aktivieren Sie compress (und optional delaycompress).
  • Fehler 5: Logrotate läuft nicht – Der Cron-Job ist deaktiviert oder die Konfiguration enthält Syntaxfehler. Lösung: Testen Sie mit logrotate -d und prüfen Sie den Cron-Job.

FAQ – Häufig gestellte Fragen zur Linux Log Rotation

Wie oft läuft logrotate standardmäßig?

Logrotate wird in der Regel einmal täglich über /etc/cron.daily/logrotate ausgeführt. Die genaue Zeit hängt von Ihrer Cron-Konfiguration ab (meist nachts).

Kann ich Logs für mehrere Anwendungen in einer Datei konfigurieren?

Ja, Sie können mehrere Pfade in einer Regeldatei angeben, getrennt durch Leerzeichen oder Zeilenumbrüche. Oder Sie erstellen separate Dateien in /etc/logrotate.d/.

Was bedeutet delaycompress genau?

Es verzögert die Komprimierung um einen Rotationszyklus. Das ist nützlich, wenn der Dienst noch auf die alte Datei zugreift (z.B. beim Schreiben). Erst beim nächsten Lauf wird komprimiert.

Wie kann ich Logs an einen zentralen Syslog-Server senden?

Logrotate selbst sendet nicht. Sie müssen syslog-ng oder rsyslog konfigurieren. Logrotate kümmert sich nur um die lokalen Dateien.

Ist logrotate auch unter anderen Linux-Distributionen gleich?

Ja, logrotate ist auf den meisten Distributionen (Debian/Ubuntu, RHEL/CentOS, openSUSE) vorinstalliert und funktioniert identisch. Die Pfade können leicht abweichen (z.B. /etc/logrotate.d/ ist Standard).

Wie lange sollte ich Logs in Frankreich aufbewahren?

Die DSGVO schreibt keine feste Frist vor, aber eine Aufbewahrung von 3 bis 6 Monaten ist üblich. Für sicherheitsrelevante Logs (z.B. Zugriffslogs) empfehlen viele Behörden bis zu 12 Monate. Passen Sie rotate entsprechend an.



Eine gut durchdachte Linux Log Rotation Konfiguration ist besonders wichtig, wenn Sie planen, Ihre Linux-Logs zu zentralisieren, um Speicherplatz effizient zu verwalten.

Die Log-Rotation ist ein wichtiger Bestandteil jeder Linux Server Log Analyse Vorlage, um sicherzustellen, dass Sie stets relevante und aktuelle Daten prüfen.



Anna Berger
Anna Berger
IT-Sicherheitsanalystin und Tech-Journalistin

Schon als Kind war ich fasziniert von der Logik hinter Computern und der unendlichen Welt der Daten. Was als spielerische Neugier mit dem Zerlegen alter PCs begann, entwickelte sich schnell zu einer tiefen Leidenschaft für die Informatik. Heute sehe ich es als meine Berufung, komplexe digitale Themen greifbar zu …

Tous les articles de Anna Berger →

Laisser un commentaire