Was logrotate macht, wie die Konfiguration in /etc/logrotate.conf und /etc/logrotate.d funktioniert und wie man eine Regel sicher testet.
logrotate ist ein Linux-Dienstprogramm, das Protokolldateien rotiert, komprimiert und entfernt, damit diese nicht den Speicherplatz füllen. Es wird normalerweise einmal täglich über einen systemd-Timer oder einen cron-Job ausgeführt und liest /etc/logrotate.conf sowie die paketbezogenen Regeln in /etc/logrotate.d/.
Eine Regel benennt eine oder mehrere Protokolldateien und Anweisungen wie daily oder weekly (wie oft), rotate 7 (wie viele alte Dateien behalten werden sollen), compress (alte Dateien mit gzip komprimieren), missingok (kein Fehler, wenn die Datei fehlt), notifempty (leere Protokolle überspringen) und postrotate ... endscript (ein Befehl, der nach der Rotation ausgeführt wird, zum Beispiel um das Protokoll erneut zu öffnen).
Einige Programme schreiben kontinuierlich in dieselbe geöffnete Datei. copytruncate kopiert das Protokoll und schneidet anschließend das Original ab, anstatt es zu verschieben, sodass das Programm seinen Dateihandle behält; einige Zeilen, die während des Kopiervorgangs geschrieben werden, können verloren gehen.
'logrotate -d /etc/logrotate.conf' wird im Debug-Modus ausgeführt und gibt nur aus, was passieren würde. '-f' erzwingt eine Rotation, auch wenn diese noch nicht fällig ist.
/etc/logrotate.d/myapp mit dem Protokollpfad und den Anweisungen, zum Beispiel weekly, rotate 4, compress, missingok, notifempty.sudo logrotate -d /etc/logrotate.d/myappsudo logrotate -f /etc/logrotate.d/myappZuletzt aktualisiert: 2026-10-08
Erfahren Sie, wie Sie Protokolle mit journalctl lesen, den Speicherplatzbedarf des Journals prüfen und es mit --vacuum-Optionen sicher verkleinern.
So finden Sie mit du und dem interaktiven ncdu heraus, was eine Linux-Festplatte füllt, unter Verwendung von Optionen, die auf einem Dateisystem bleiben.
Wie cron geplante Aufgaben ausführt, die fünf crontab-Zeitfelder, wo sich System-cron-Dateien befinden und wie systemd-Timer im Vergleich abschneiden.