Logrotate: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 36: | Zeile 36: | ||
=Logrotate Konfigurationsbeispiele= | =Logrotate Konfigurationsbeispiele= | ||
*[[Logrotate Beispiel nginx]] | *[[Logrotate Beispiel nginx]] | ||
| + | *[[Logrotate Beispiel squid]] | ||
| + | *[[Logrotate Beispiel apache2]] | ||
| + | *[[Logrotate Beispiel mail]] | ||
=Logrotate Testlauf= | =Logrotate Testlauf= | ||
Version vom 26. März 2025, 19:23 Uhr
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.
Logrotate-Installation
- Debian
- apt install -y logrotate
- Rocky
- dnf install -y logrotate
Speicherorte der Logrotate-Konfigurationsdateien
- /etc/logrotate.conf – Hauptkonfigurationsdatei
- /etc/logrotate.d/ – Verzeichnis für paketbezogene Einzelkonfigurationen
- /usr/share/logrotate/ – Mögliche Vorlagen oder Beispieldateien (je nach Distribution)
- /var/lib/logrotate/status – Statusdatei mit den Zeitstempeln der letzten Rotationen
Logrotate-Konfigurationsoptionen
- Logrotate-Konfigurationsdateien befinden sich in /etc/logrotate.conf und /etc/logrotate.d/.
- Jede Konfigurationsdatei kann mehrere Optionen enthalten:
- `daily`: Logdateien werden täglich rotiert.
- `missingok`: Keine Fehlermeldung, wenn die Logdatei fehlt.
- `rotate 3`: Es werden immer drei rotierte Dateien beibehalten.
- `notifempty`: Leer Logdateien werden nicht rotiert.
- `dateext`: Fügt ein Datum zur rotierten Datei hinzu.
- `create 640 http log`: Erstellt nach dem Löschen eine neue Logdatei mit bestimmten Dateiberechtigungen.
- `compress`: Komprimiert die rotierten Logs mit gzip.
- `sharedscripts`: Stellt sicher, dass das Postrotate-Skript nur einmal ausgeführt wird, unabhängig davon, wie viele Logdateien rotiert werden.
- Es gibt zahlreiche weitere Konfigurationsoptionen, die in der Manpage von logrotate gefunden werden können, einschließlich `delaycompress`, die eine Komprimierung bis zum nächsten Rotationszyklus verzögert.
Logrotate Konfigurationsbeispiele
- Logrotate Beispiel nginx
- Logrotate Beispiel squid
- Logrotate Beispiel apache2
- Logrotate Beispiel mail
Logrotate Testlauf
- Um die Konfiguration zu testen, kann Logrotate im Debug-Modus ausgeführt werden:
- /usr/sbin/logrotate /etc/logrotate.conf --debug
- Dies zeigt, was logrotate tun würde, führt aber keine Aktionen aus.
Logrotate-Ausführung
- Logrotate kann manuell mit dem Befehl `/usr/sbin/logrotate /etc/logrotate.conf --debug` ausgeführt werden.
- Der Parameter `--debug` zeigt detaillierte Informationen an, führt aber nichts endgültig aus.
- Um Logrotate automatisch auszuführen, kann ein systemd-Dienst eingerichtet werden.