Logrotate: Automatische Verwaltung von Logdateien unter Linux
- Logrotate ist ein Tool zur automatischen Verarbeitung von Logdateien auf Linux-Systemen.
- Es komprimiert wöchentlich Logdateien und erzeugt neue, um zu verhindern, dass die Logdateien zu groß werden.
- Die Installation von logrotate ist mit dem jeweiligen Paketmanager auf allen gängigen Linuxsystemen möglich.
- In Debian ist logrotate in der Regel vorinstalliert.
- Die Konfiguration erfolgt hauptsächlich in der Datei /etc/logroate.conf.
- Zusätzliche Konfigurationsdateien für spezifische Dienste (z. B. nginx, fail2ban) befinden sich im Verzeichnis /etc/logrotate.d.
- Die Konfiguration ermöglicht u.a. die tägliche Verarbeitung von Logs, die Beibehaltung von drei rotierten Dateien, die Komprimierung von rotierten Logs und die Ausführung von Skripten nach der Rotation.
- Ein Testlauf von logrotate kann mit dem Befehl /usr/sbin/logrotate /etc/logrotate.conf --debug ausgeführt werden.
- Logrotate kann automatisch ausgeführt werden und sollte nach der Installation unter Debian-Derivaten bereits konfiguriert sein. Bei anderen Derivaten (z. B. Arch Linux) muss logrotate manuell konfiguriert werden.
Systemd
- Für einen automatisierten Lauf des Logrotate-Dienstes kann ein systemd-Service konfiguriert werden.
- Ein Beispiel für eine solche Konfiguration sieht folgendermaßen aus:
[Unit]
Description=Automatic logrotate
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/logrotate /etc/logrotate.conf
TimeoutStopSec=180
KillMode=process
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target
- Logrotate hilft dabei, den für Logdateien benötigten Speicherplatz zu minimieren, was besonders für Server mit begrenztem Speicherplatz wichtig ist.
- Es ermöglicht auch eine bessere Übersichtlichkeit der Logdateien und erleichtert ihre Analyse.
- Zusätzliche Funktionen und Konfigurationsoptionen von Logrotate können in der Manpage des Tools eingesehen werden.