Kennisbank › Logging › logrotate configureren en beheren op Linux
logging starter 26 August 2026

logrotate configureren en beheren op Linux

logrotate configureren en beheren op LinuxDit artikel legt uit hoe logrotate werkt, welke versies de belangrijkste distributies gebruiken en hoe je rotatie

Dit artikel legt uit hoe logrotate werkt, welke versies de belangrijkste distributies gebruiken en hoe je rotatie handmatig activeert. Gericht op systeembeheerders die logbestanden onder controle willen houden.

VEREISTEN

- Een Linux-distributie met logrotate geïnstalleerd. Check met: `logrotate --version` - Root-toegang of sudo-rechten voor het bewerken van configuratiebestanden in `/etc/logrotate.d/` - Basiskennis van de commandoregel

STAPPEN

1. Controleer de geïnstalleerde versie

Logrotate is standaard aanwezig op de meeste distributies. De versie verschilt per systeem.

logrotate --version

Debian 13 (Trixie) en Arch Linux gebruiken versie 3.22.0-1. Ubuntu 24.04 gebruikt 3.19.0-1ubuntu1.1. NetBSD via pkgsrc heeft 3.21.0 voor `sysutils/logrotate`.

2. Begrijp het configuratiemodel

Logrotate leest configuratie uit `/etc/logrotate.conf` en `/etc/logrotate.d/`. Het hoofdconfiguratiebestand bevat globale instellingen. De map bevat per-service configuraties. Elk bestand definieert rotatie voor specifieke logbestanden.

3. Bekijk een bestaande configuratie

Bekijk hoe een standaardconfiguratie eruitziet:

cat /etc/logrotate.d/rsyslog

Deze toont rotatieregels voor systeemlogs. Je ziet frequentie (dagelijks, wekelijks), rotatiecount (aantal bewaarde versies) en compressie-instellingen.

4. Maak een eigen configuratie

Maak een configuratie voor een applicatie. Dit voorbeeld roteert `/var/log/mijnapp.log` wekelijks en bewaart 4 versies:

sudo nano /etc/logrotate.d/mijnapp

/var/log/mijnapp.log {
    weekly
    rotate 4
    compress
    missingok
    notifempty
    create 0640 www-data adm
}

Uitleg: `weekly` roteert elke week, `rotate 4` houdt 4 oude versies, `compress` pakt ze in met gzip, `missingok` slaat ontbrekende bestanden over, `notifempty` roteert niet bij lege logs, `create` maakt een nieuw logbestand met de opgegeven rechten.

5. Test de configuratie zonder daadwerkelijk te roteren

Gebruik de dry-run-modus om fouten te vinden voordat je echt roteert:

sudo logrotate -d /etc/logrotate.conf

Dit toont wat logrotate zou doen zonder bestanden te wijzigen. Controleer de uitvoer op foutmeldingen.

6. Forceer een rotatie handmatig

Activeer rotatie direct, ongeacht het schema:

sudo logrotate --force /etc/logrotate.conf

Met `--force` roteer je alle logs volgens de configuratie, ook als de frequentie nog niet bereikt is. Gebruik dit na het aanpassen van configuraties om direct effect te zien.

7. Voorkom concurrentieproblemen bij parallelle runs

Als je logrotate handmatig draait terwijl cron het ook uitvoert, gebruik dan de state lock optie:

sudo logrotate --skip-state-lock /etc/logrotate.conf

Dit voorkomt dat twee processen tegelijk dezelfde logs roteren. Standaard vergrendelt logrotate zijn state file om dit te voorkomen.

8. Stuur logs per e-mail

Configureer e-mailnotificatie voor geroteerde logs:

sudo logrotate --mail "beheer@voorbeeld.nl" /etc/logrotate.conf

Dit stuurt de inhoud van geroteerde logs naar het opgegeven adres. Het `--mail`-commando overschrijft het standaard `mail`-commando. Let op: dit vereist een werkende mailserver op het systeem.

VERIFICATIE

Controleer of rotatie correct werkt:

sudo logrotate -v /etc/logrotate.conf

De `-v`-vlag toont gedetailleerde uitvoer van elke actie. Je ziet per logbestand of rotatie plaatsvond, of compressie is uitgevoerd en welke bestanden zijn aangemaakt.

Controleer ook de state file:

cat /var/lib/logrotate/status

Dit toont de laatste rotatiedatum per logbestand.

VEELGESTELDE PROBLEMEN

1. Logs worden niet geroteerd

Controleer of de configuratie in `/etc/logrotate.d/` correct is. Draai een dry-run: `sudo logrotate -d /etc/logrotate.conf`. Kijk of de state file de rotatie al als uitgevoerd markeert. Verwijder de specifieke entry uit `/var/lib/logrotate/status` en draai opnieuw.

2. Logrotate draait niet via cron

Check of de cron-job bestaat:

cat /etc/cron.daily/logrotate

Als deze ontbreekt, installeer logrotate opnieuw of maak handmatig een cron-job aan die dagelijks draait.

3. Permissiefouten bij rotatie

Als je `create` gebruikt, moet de opgegeven gebruiker bestaansrecht hebben op de directory. Controleer met:

ls -la /var/log/mijnapp.log

Pas de `create`-regel aan naar een gebruiker die schrijfrechten heeft op de logdirectory.

De ontwikkeling van logrotate blijft actief: de GitHub-repository `logrotate/logrotate` toont een regelmatig releasepatroon, met 3.22.0 als nieuwste versie van 1 juni 2024. De overgang van oudere versiebeheersystemen naar Git, zichtbaar in de NetBSD-pakketgeschiedenis, weerspiegelt hoe het project zich aanpast aan moderne workflows. De vraag is niet of je logrotate nodig hebt, maar wanneer je het gaat configureren.

← Terug naar kennisbank
← Terug naar kennisbank