logrotate

logrotate roteert, comprimeert en verwijdert logbestanden automatisch.

Configuratiebestand

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
}

Veelgebruikte opties

OptieBetekenis
daily / weekly / monthlyRotatiefrequentie
rotate nBewaar n oude bestanden
compressComprimeer oude logs met gzip
delaycompressComprimeer pas bij volgende rotatie
missingokGeen fout als logbestand ontbreekt
notifemptyNiet roteren als bestand leeg is
create mode eigenaar groepNieuw leeg logbestand aanmaken
size nRoteren als bestand groter dan n (bijv. 100M)
maxage nVerwijder logs ouder dan n dagen
postrotateScript uitvoeren na rotatie

Handmatig uitvoeren

sudo logrotate /etc/logrotate.conf           # Normaal
sudo logrotate -f /etc/logrotate.conf        # Geforceerd
sudo logrotate -d /etc/logrotate.d/mijnapp   # Droogloop

Status bekijken

cat /var/lib/logrotate/status

Tip

Gebruik logrotate -d om te testen wat er zou gebeuren zonder het daadwerkelijk uit te voeren — zo controleer je of je configuratie correct is.

loggingsysteembeheer