Hipex Logrotate
Hoe kan ik mijn logbestanden efficient beheren via logrotate bij Hipex
Wat is logrotate
Logrotate is een UNIX tool die standaard aanwezig is op het Hipex platform. Aan de hand van deze tool kun je je logbestanden effectief beheren.
Hoe kan ik hipex logrotate gebruiken?
Om je de handmatige configuratie stappen uit handen te nemen hebben we een makkkelijk Hipex logrotate commando ontwikkeld: hipex log:rotate
.
Door het uitvoeren van het hipex log:rotate
commando wordt er een configuratie file aangemaakt.
Om ervoor te zorgen dat logrotate op gezette tijdstippen draait kan je deze toevoegen in crontab.
Met de --help
optie kan je alle informatie over het commando opvragen:
$ hipex log:rotate --help
Description:
Rotate log files to prevent them to grow exhaustively.
Usage:
log:rotate [options]
Options:
--path[=PATH] Destination path to directory with log files that should be rotated
--frequency[=FREQUENCY] Frequency to rotate the log files (daily, weekly, monthly or yearly) [default: "daily"]
--size[=ROTATE_SIZE] Rotate log files bigger than this value (value in MB) [default: 50]
--copies[=COPIES] Number of copies that should be stored [default: 7]
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
PATH
Het path
is de locatie van de log bestanden welke je wilt roteren, dit kan bijvoorbeeld zijn /home/<ssh user>/domains/<domeinnaam>/application/var/log
FREQUENCY
Met frequency
bepaal je hoe vaak de logs worden opgeschoond. Je hebt de keuze uit: daily, weekly, monthly of yearly.
SIZE
Wanneer hier een waarde van 50 word geplaatst worden bestanden groter dan 50MB mee genomen met logrotate. Wanneer het bestand minder is dan 50MB word het bestand niet meegenomen met logrotate.
COPIES
Met copies
geef je aan hoeveel geroteerde bestanden er bewaard moeten blijven.
Wanneer er meer copies zijn als de ingestelde waarde, zal het oudste bestand automatisch verwijderd worden.
Let op wanneer het bestand niet groter is dan 50MB zal het bestand niet niet opgepakt worden door logrotate zie ROTATE_SIZE 50
Configuratie file
Na het uitvoeren van hipex log:rotate
commando word er een bestand aangemaakt in de map /home/<ssh user>/logrotate
dit bestand kun je later nog bewerken.
Cronjob
Om logrotate te activeren moeten we een cronjob activeren, hiervoor kan je de volgende cronjob gebruiken:
0 6 * * * logrotate -s /home/<sshuser>/logrotate/logrotate.status /home/<sshuser>/logrotate/logrotate.conf
Bovenstaande voorbeeld is voor het dagelijks roteren. Wanneer je vaker een controle wil laten uitvoeren kun je dit ook instellen om de vijf minuten.