Overzicht
logrotate beheert logboekbestanden periodiek op basis van configuratiebestanden. Oude logs worden verwijderd of gecomprimeerd volgens de bewaarperiode om schijfruimte te besparen, en nieuwe logboekbestanden worden aangemaakt om het systeem stabiel te laten draaien. Op de meeste Linux-systemen wordt het dagelijks automatisch uitgevoerd via cron-taken.
Belangrijkste functies
- Automatisch roteren en bewaren van logboekbestanden
- Oude logboekbestanden comprimeren en verwijderen
- Efficiënt beheer van schijfruimte
- Flexibele regeltoepassing op basis van configuratiebestanden
- Standaard meegeleverd op de meeste Linux-distributies
Belangrijkste opties
logrotate werkt voornamelijk via configuratiebestanden, maar u kunt opdrachtregelopties gebruiken om specifieke acties te regelen.
Uitvoeringscontrole
Bestandspecificatie
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`logrotate` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksvoorbeelden
logrotate wordt meestal automatisch uitgevoerd door cron, maar u kunt het handmatig uitvoeren of testen met specifieke opties.
logrotate uitvoeren met het standaard configuratiebestand
sudo logrotate /etc/logrotate.conf
Wordt normaal gesproken uitgevoerd door cron, maar dit is het commando om logrotate handmatig uit te voeren met het standaard configuratiebestand.
Uitvoeren in debugmodus om wijzigingen voor te bekijken
sudo logrotate -d /etc/logrotate.conf
Wijzigt de logboekbestanden niet daadwerkelijk, maar simuleert en toont welke acties logrotate zal uitvoeren. Essentieel voor het testen van nieuwe configuraties.
Logboekbestanden geforceerd roteren
sudo logrotate -f /etc/logrotate.conf
Negeert de rotatievoorwaarden (bijv. tijd, grootte) en roteert de logboekbestanden onmiddellijk. Gebruikt in noodsituaties of wanneer specifieke logs onmiddellijk moeten worden verwerkt.
Uitvoeren met het configuratiebestand van een specifieke applicatie
sudo logrotate -c /etc/logrotate.d/nginx
Voert logrotate uit met alleen het configuratiebestand van een specifieke applicatie uit de map `/etc/logrotate.d/`.
Tips & Aandachtspunten
Tips en aandachtspunten voor het effectief gebruiken van logrotate.
Locatie van configuratiebestanden
De configuratiebestanden van logrotate bevinden zich meestal op twee locaties.
- /etc/logrotate.conf: Het globale configuratiebestand, dat standaardwaarden definieert die van toepassing zijn op alle logs en andere configuratiebestanden includeert.
- /etc/logrotate.d/: De map waar configuratiebestanden voor individuele applicaties (bijv. Nginx, Apache, MySQL) worden opgeslagen om hun logrotatieregels te definiëren.
Belangrijkste configuratie-instructies
Veelgebruikte instructies in logrotate-configuratiebestanden.
- rotate N: Bewaart N geroteerde logboekbestanden.
- daily/weekly/monthly/yearly: Specificeert de frequentie van logrotatie.
- compress: Comprimeert de geroteerde logboekbestanden.
- delaycompress: Comprimeert het vorige logbestand bij de volgende rotatie.
- notifempty: Roteert het logboekbestand niet als het leeg is.
- missingok: Genereert geen fout als het logboekbestand ontbreekt.
- create [mode owner group]: Maakt een nieuw logboekbestand aan.
- postrotate/endscript: Definieert scripts die na de logrotatie moeten worden uitgevoerd.
Testen bij configuratiewijzigingen
Voordat u nieuwe logrotate-configuraties toepast, moet u deze altijd testen met de `-d` (of `--debug`) optie. Dit is de veiligste manier om de geldigheid van de configuratie te verifiëren zonder het daadwerkelijke systeem te beïnvloeden.
Integratie met cron
logrotate wordt meestal dagelijks automatisch uitgevoerd via het script `/etc/cron.daily/logrotate`. Dit script leest het bestand `/etc/logrotate.conf` en verwerkt alle geconfigureerde logrotatietaken.