Startseite > Paket- & Systemverwaltung > logrotate

logrotate: Verwaltung von Systemprotokolldateien

logrotate ist ein Dienstprogramm, das für die automatische Rotation, Komprimierung, Entfernung und Weiterleitung von Systemprotokolldateien zuständig ist. Dieses Werkzeug ermöglicht eine effiziente Protokollverwaltung, indem es verhindert, dass Protokolldateien zu groß werden und den Speicherplatz belegen oder die Systemleistung beeinträchtigen.

Übersicht

logrotate verwaltet Protokolldateien periodisch basierend auf Konfigurationsdateien. Alte Protokolle werden gemäß der Aufbewahrungsfrist gelöscht oder komprimiert, um Speicherplatz zu sparen, und neue Protokolldateien werden erstellt, um einen stabilen Systembetrieb zu gewährleisten. Auf den meisten Linux-Systemen wird es täglich automatisch über Cron-Jobs ausgeführt.

Hauptfunktionen

  • Automatische Rotation und Aufbewahrung von Protokolldateien
  • Komprimierung und Löschung alter Protokolldateien
  • Effiziente Verwaltung des Speicherplatzes
  • Flexible Regelanwendung basierend auf Konfigurationsdateien
  • Standardmäßig in den meisten Linux-Distributionen enthalten

Wichtige Optionen

logrotate arbeitet hauptsächlich über Konfigurationsdateien, aber Sie können Befehlszeilenoptionen verwenden, um bestimmte Aktionen zu steuern.

Ausführungssteuerung

Dateiauswahl

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`logrotate` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

logrotate wird normalerweise automatisch von Cron ausgeführt, kann aber auch manuell ausgeführt oder mit bestimmten Optionen getestet werden.

logrotate mit der Standardkonfigurationsdatei ausführen

sudo logrotate /etc/logrotate.conf

Wird normalerweise von Cron ausgeführt, aber dies ist der Befehl, um logrotate manuell mit der Standardkonfigurationsdatei auszuführen.

Vorschau der Änderungen im Debug-Modus

sudo logrotate -d /etc/logrotate.conf

Ändert die Protokolldateien nicht tatsächlich, sondern simuliert und zeigt an, welche Aktionen logrotate ausführen würde. Unverzichtbar zum Testen neuer Konfigurationen vor der Anwendung.

Protokolldateien zwangsweise rotieren

sudo logrotate -f /etc/logrotate.conf

Ignoriert die Rotationsbedingungen (z. B. Zeit, Größe) und rotiert die Protokolldateien sofort. Wird in Notfällen oder wenn bestimmte Protokolle sofort verarbeitet werden müssen, verwendet.

Ausführen mit der Konfigurationsdatei einer bestimmten Anwendung

sudo logrotate -c /etc/logrotate.d/nginx

Führt logrotate nur mit der Konfigurationsdatei einer bestimmten Anwendung im Verzeichnis `/etc/logrotate.d/` aus.

Tipps & Hinweise

Tipps und Hinweise zur effektiven Nutzung von logrotate.

Speicherorte der Konfigurationsdateien

Die Konfigurationsdateien von logrotate befinden sich hauptsächlich an zwei Orten.

  • /etc/logrotate.conf: Globale Konfigurationsdatei, die Standardwerte und andere zu inkludierende Konfigurationsdateien für alle Protokolle enthält.
  • /etc/logrotate.d/: Verzeichnis, in dem die Dateien mit den Regeln für die Protokollrotation einzelner Anwendungen (z. B. Nginx, Apache, MySQL) gespeichert sind.

Wichtige Konfigurationsdirektiven

Häufig verwendete Direktiven in logrotate-Konfigurationsdateien.

  • rotate N: Behält N rotierte Protokolldateien.
  • daily/weekly/monthly/yearly: Gibt die Häufigkeit der Protokollrotation an.
  • compress: Komprimiert rotierte Protokolldateien.
  • delaycompress: Komprimiert das vorherige Protokoll beim nächsten Rotationszeitpunkt.
  • notifempty: Rotiert die Protokolldatei nicht, wenn sie leer ist.
  • missingok: Löst keinen Fehler aus, wenn die Protokolldatei fehlt.
  • create [mode owner group]: Erstellt eine neue Protokolldatei.
  • postrotate/endscript: Definiert Skripte, die nach der Protokollrotation ausgeführt werden sollen.

Testen von Konfigurationsänderungen

Bevor Sie neue logrotate-Konfigurationen anwenden, sollten Sie diese unbedingt mit der Option `-d` (oder `--debug`) testen. Dies ist die sicherste Methode, um die Gültigkeit der Konfiguration zu überprüfen, ohne das tatsächliche System zu beeinträchtigen.

Integration mit Cron

logrotate wird normalerweise täglich automatisch über das Skript `/etc/cron.daily/logrotate` ausgeführt. Dieses Skript liest die Datei `/etc/logrotate.conf` und verarbeitet alle konfigurierten Protokollrotationsaufgaben.


Gleiche Kategorie Befehle