Geautomatiseerde logrotatie en opschoning
Houd schijven gezond door logrotatie en het opruimen van oude bestanden te automatiseren met logrotate en geplande scripts op basis van find.
Geautomatiseerde logrotatie en opschoning is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Het probleem van groeiende logboeken
Langdurig draaiende services schrijven voortdurend logboeken. Zonder beheer vullen ze de schijf en laten ze het systeem crashen. Rotatie en opruiming houden dit onder controle.
du -sh /var/log/*Wat logboekrotatie doet
Bij rotatie wordt het huidige logboek hernoemd, een nieuw leeg logboek gestart en een beperkt aantal oudere gecomprimeerde kopieën bewaard.
- app.log wordt app.log.1
- oude kopieën worden met gzip gecomprimeerd
- de oudste worden verwijderd
Kennismaken met logrotate
logrotate is het standaardhulpmiddel van Linux dat rotatie op basis van grootte of ouderdom automatiseert, met configuratie in /etc/logrotate.d/.
cat /etc/logrotate.confEen eenvoudige logrotate-configuratie
Een configuratieblok benoemt de logboekbestanden en het rotatiebeleid.
/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
}De richtlijnen begrijpen
Veelgebruikte richtlijnen:
dailyroteer elke dagrotate 7bewaar 7 oude bestandencompresscomprimeer geroteerde logboeken met gzipmissingoksla over als het ontbreekt
Testen zonder te wachten
Forceer een uitvoering met -f of voer een simulatie uit met -d om de configuratie te controleren voordat je op het schema vertrouwt.
logrotate -d /etc/logrotate.d/myapp
logrotate -f /etc/logrotate.d/myapppostrotate-scripts
Veel services houden de oude bestandsdescriptor geopend. Een blok postrotate geeft de service opdracht het logboek na rotatie opnieuw te openen.
/var/log/myapp/*.log {
daily
postrotate
systemctl reload myapp
endscript
}Oude bestanden opruimen met find
Voor eenmalige opruimacties zoekt find met -mtime bestanden die ouder zijn dan N dagen en verwijdert deze.
find /var/log/myapp -name "*.log" -mtime +30 -deleteEen veilig opruimscript
Verpak het opruimen in een script dat registreert wat het verwijdert, zodat je een controlespoor hebt.
#!/bin/bash
DIR=/var/backups
find "$DIR" -name "*.tar.gz" -mtime +14 -print -delete \
>> /var/log/cleanup.log 2>&1Het opruimen plannen
Plaats rotatie onder logrotate (dat al door cron wordt aangestuurd) en plan aangepaste opruimscripts met je eigen crontab-vermelding.
# crontab -e
30 2 * * * /usr/local/bin/cleanup.shSchijfgebruik bewaken
Voeg een controle toe die een waarschuwing geeft wanneer een partitie een drempel overschrijdt, zodat het opruimen nooit te laat wordt uitgevoerd.
USAGE=$(df --output=pcent / | tr -dc "0-9")
[ "$USAGE" -gt 90 ] && echo "Disk over 90%" | mail -s alert rootKorte controle
Test je kennis van automatisering.
Samenvatting
Je hebt het beheer van logboeken geautomatiseerd:
- logrotate roteert op ouderdom of grootte met
rotate,compressenpostrotate - Controleer met
-d/-f - Gebruik
find -mtime +N -deletevoor aangepaste opruimacties - Plan met cron en gebruik waarschuwingen voor schijfgebruik als controle
Leer DevOps-bootcamp met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 142
- Lessen
- 568
Veelgestelde vragen
Is de les “Geautomatiseerde logrotatie en opschoning” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Geautomatiseerde logrotatie en opschoning”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Wat leer ik in “Geautomatiseerde logrotatie en opschoning”?
Houd schijven gezond door logrotatie en het opruimen van oude bestanden te automatiseren met logrotate en geplande scripts op basis van find. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?
Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Geautomatiseerde logrotatie en opschoning”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?
Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Taken plannen met Cron
- Systeembeheer automatiseren
- Geavanceerd scriptingproject
- Geautomatiseerde logrotatie en opschoning