Die Regeln liegen in /etc/logrotate.conf und /etc/logrotate.d/. Typische Optionen sind daily oder weekly, rotate 14 für die Anzahl der Versionen, compress und maxsize. Ausgeführt wird logrotate täglich per Cron oder systemd-Timer.
Nach dem Umbenennen schreibt ein laufender Dienst weiter in die alte Datei, weil er sie geöffnet hält. Entweder signalisiert ein postrotate-Skript dem Dienst, die Datei neu zu öffnen (z. B. nginx -s reopen), oder copytruncate kopiert die Datei und leert das Original, mit dem Risiko, dabei einige Zeilen zu verlieren.
Wächst ein Log trotz Rotation weiter, hilft logrotate -d zur Prüfung der Konfiguration. Häufige Ursachen sind falsche Pfade, fehlende Rechte oder ein Log der Anwendung, das gar nicht in der Konfiguration steht, etwa nextcloud.log.
Beispiel
logrotate -d /etc/logrotate.d/nginx