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

logrotate configureren en beheren op Linux

logrotate configureren en beheren op Linux Dit artikel legt uit hoe logrotate werkt, welke versies de belangrijkste distributies gebruiken en hoe u rotatie kunt instellen en beheren.

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

VEREISTEN

- Een Linux-distributie met logrotate geïnstalleerd. Controleer dit 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. U ziet de frequentie (dagelijks, wekelijks), het rotatieaantal (aantal bewaarde versies) en de 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 bij, `compress` pakt ze in met gzip, `missingok` slaat ontbrekende bestanden over, `notifempty` roteert niet bij lege logs, `create` maakt een nieuw logbestand aan met de opgegeven rechten.

5. Test de configuratie zonder daadwerkelijk te roteren

Gebruik de dry-run-modus om fouten op te sporen voordat u 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` roteert u 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 uitvoeringen

Als u 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.be" /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. U 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. Voer een dry-run uit: `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 voer opnieuw uit.

2. Logrotate draait niet via cron

Controleer 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 u `create` gebruikt, moet de opgegeven gebruiker bestaansrecht hebben op de directory. Controleer dit 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 u logrotate nodig hebt, maar wanneer u het gaat configureren.

← Terug naar kennisbank
← Terug naar kennisbank