logrotate roteert, comprimeert en verwijdert logbestanden automatisch.
Aanmaken in /etc/logrotate.d/mijnapp:
/var/log/mijnapp/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
postrotate
systemctl reload mijnapp
endscript
}
| Optie | Betekenis |
|---|---|
daily / weekly / monthly | Rotatiefrequentie |
rotate n | Bewaar n oude bestanden |
compress | Comprimeer oude logs met gzip |
delaycompress | Comprimeer pas bij volgende rotatie |
missingok | Geen fout als logbestand ontbreekt |
notifempty | Niet roteren als bestand leeg is |
create mode eigenaar groep | Nieuw leeg logbestand aanmaken |
size n | Roteren als bestand groter dan n (bijv. 100M) |
maxage n | Verwijder logs ouder dan n dagen |
postrotate | Script uitvoeren na rotatie |
sudo logrotate /etc/logrotate.conf # Normaal
sudo logrotate -f /etc/logrotate.conf # Geforceerd
sudo logrotate -d /etc/logrotate.d/mijnapp # Droogloop
cat /var/lib/logrotate/status
Gebruik logrotate -d om te testen wat er zou gebeuren zonder het daadwerkelijk uit te voeren — zo controleer je of je configuratie correct is.