nginx: via Logrotate Logs löschen
Ein kleiner Quickfix für zwischendurch: wer bisher – so wie ich – dachte, dass Logrotate automatisch Logs nach einer Zeit löscht, wird enttäuscht sein. Das ist natürlich ein peinlicher RTFM-Fehler, aber lässt sich leicht beheben. Z.B. möchte ich bei meinen nginx Logs maximal 7 Tage aufheben und dann löschen (DSGVO lässt grüßen).
Dazu muss man in der Logrotate nginx Konfiguration (/etc/logrotate.d/nginx) folgende Zeile nach postrotate hinzufügen:
postrotate /usr/bin/find /var/log/nginx/ -name "*.gz" -mtime +7 -delete
Um das Ergebnis direkt prüfen zu können, kann man so Logrotate zu manueller Ausführung verhelfen:
logrotate --force /etc/logrotate.d/nginx