Logfiles sind essenziell für die Überwachung, Fehlerdiagnose und Sicherheit von Linux-Servern. Ohne ein effektives Management können sie schnell den verfügbaren Speicher füllen und die Systemleistung beeinträchtigen. Mit logrotate lassen sich Logs automatisch archivieren, komprimieren und löschen, um Speicher zu sparen und eine saubere Historie zu behalten.
Logrotate Grundlagen
logrotate ist ein Tool zur automatisierten Verwaltung von Logdateien unter Linux. Es unterstützt die Rotation, Komprimierung und das Löschen alter Logs und kann täglich, wöchentlich oder monatlich ausgeführt werden.
Installation
# Debian / Ubuntu
sudo apt update
sudo apt install logrotate
RHEL / CentOS / Rocky / AlmaLinux
sudo dnf install logrotate
Konfigurationsdateien
Die Hauptkonfiguration befindet sich in /etc/logrotate.conf, während einzelne Logrotate-Jobs in /etc/logrotate.d/ hinterlegt werden. Dies erlaubt eine modulare Verwaltung für unterschiedliche Dienste wie Nginx, Apache oder System-Logs.
Grundlegende Logrotate-Konfiguration
Ein einfaches Beispiel für /etc/logrotate.d/nginx:
/var/log/nginx/*.log {
daily
rotate 14
compress
delaycompress
missingok
notifempty
create 0640 www-data adm
sharedscripts
postrotate
systemctl reload nginx > /dev/null 2>&1 || true
endscript
}
Erklärung der Direktiven
daily: Logs werden täglich rotiertrotate 14: 14 alte Log-Dateien behaltencompress: Alte Logs werden gzip-komprimiertdelaycompress: Die aktuelle Log-Datei wird erst beim nächsten Rotation-Zyklus komprimiertmissingok: Fehler beim Fehlen der Datei werden ignoriertnotifempty: Leere Dateien werden nicht rotiertcreate 0640 www-data adm: Neue Log-Dateien mit definierten Rechten und Eigentümer erstellensharedscripts: Postrotate-Skript nur einmal ausführenpostrotate ... endscript: Dienst nach Rotation neu laden
Rotation testen
Vor einer automatischen Ausführung empfiehlt es sich, die Konfiguration zu prüfen:
sudo logrotate --debug /etc/logrotate.conf
sudo logrotate --force /etc/logrotate.conf
Automatisierung
Logrotate wird in der Regel über Cron-Jobs automatisch ausgeführt. Unter modernen Systemen übernimmt systemd den Timer:
systemctl list-timers | grep logrotate
Alternativ kann ein eigener Cron-Eintrag gesetzt werden:
0 0 * * * /usr/sbin/logrotate /etc/logrotate.conf
Erweiterte Optionen
Mail-Benachrichtigung
Bei kritischen Logs können Sie per E-Mail über Rotation informieren:
mail firstadmin@example.com
Custom Scripts
Vor oder nach der Rotation können eigene Skripte ausgeführt werden, z.B. Backups der Logs oder Sicherheitsprüfungen:
prerotate
/usr/local/bin/log-backup.sh
endscript
postrotate
/usr/local/bin/log-archive.sh
endscript
Best Practices
- Für jeden Service eigene Logrotate-Dateien in
/etc/logrotate.d/anlegen - Rotation so einstellen, dass Speicherengpässe vermieden werden
- Logs komprimieren, um Platz zu sparen
- Alte Logs archivieren oder in ein zentrales Logsystem (ELK, Graylog) verschieben
- Testen, dass Dienste nach Rotation korrekt neu starten
- Auf ausreichende Rechte achten, damit Logrotate auf alle Logdateien zugreifen kann
- Regelmäßig prüfen, ob Cron-Jobs oder systemd-Timer korrekt ausgeführt werden
Fazit für den Betrieb
Mit logrotate lassen sich Linux-Logs effizient verwalten, Speicher sparen und die Übersicht behalten. Durch automatisierte Rotation, Komprimierung und Skriptintegration wird der Betrieb stabiler, und Systemadministratoren können sich auf die Analyse wichtiger Logs konzentrieren, statt sich um volllaufende Dateisysteme zu kümmern.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











