reorganization + add example for compress logs whithout rotate
This commit is contained in:
parent
c0507e2cee
commit
ef742ba11b
|
@ -3,7 +3,10 @@ categories: storage log utilities file filesystem
|
|||
title: Howto Logrotate
|
||||
...
|
||||
|
||||
* Documentation : <https://linux.die.net/man/8/logrotate>
|
||||
* Documentation :
|
||||
|
||||
- <https://linux.die.net/man/8/logrotate>
|
||||
- <https://manpages.debian.org/cgi-bin/man.cgi?query=logrotate>
|
||||
|
||||
Logrotate est un programme qui permet de gérer la croissance et
|
||||
l'historique des fichiers de logs. Le programme est exécuté
|
||||
|
@ -13,8 +16,8 @@ configurations présentes dans `/etc/logrotate.d/`. Les paquets des
|
|||
programmes qui génèrent des logs (par exemple Apache, Postfix, ...)
|
||||
fournissent généralement une configuration pour logrotate.
|
||||
|
||||
Ce programme est spécifique aux distributions Linux, sous les systèmes
|
||||
de la famille *BSD, l'équivalent de logrotate est newsyslog
|
||||
Ce programme est spécifique aux distributions Linux, *sous les systèmes
|
||||
de la famille BSD, l'équivalent de logrotate est newsyslog*
|
||||
|
||||
# Installation
|
||||
|
||||
|
@ -24,15 +27,9 @@ de la famille *BSD, l'équivalent de logrotate est newsyslog
|
|||
logrotate 3.11.0
|
||||
~~~
|
||||
|
||||
# Stratégie de gestion
|
||||
## Rotation et compression de logs
|
||||
|
||||
Il y a de très nombreuses stratégies de gestion des logs, en voici quelques unes illustrées.
|
||||
|
||||
cf. <https://manpages.debian.org/cgi-bin/man.cgi?query=logrotate>
|
||||
|
||||
## Applications Ruby
|
||||
|
||||
Pour les serveurs d'application comme Puma, Unicorn, ... :
|
||||
Exemple de configuration pour les serveurs d'application comme Puma, Unicorn, ... :
|
||||
|
||||
~~~
|
||||
/home/USER/apps/production/*/shared/log/*.log {
|
||||
|
@ -54,17 +51,43 @@ Cette stratégie va faire une rotation hebdomadaire, conserver 52 semaines (1 an
|
|||
|
||||
L'instruction `copytruncate` est importante car le descripteur de fichier ouvert par l'application ne va pas changer.
|
||||
|
||||
Pour vérifier qu'il n'y a pas d'erreurs de syntaxe :
|
||||
## Compresser des logs sans faire la rotation
|
||||
|
||||
Admettons que l'on ait une application qui fait sa rotation de log mais ne fait pas de compression :
|
||||
|
||||
~~~
|
||||
/usr/local/apps/logs/*.log.*[!gz] {
|
||||
su USER GROUP
|
||||
daily
|
||||
missingok
|
||||
rotate 365
|
||||
compress
|
||||
dateext
|
||||
dateformat
|
||||
}
|
||||
~~~
|
||||
|
||||
Cette stratégie va faire une rotation journalière, conserver 365 jours, compresser les logs ayant dans le nom de fichier $NOM__FICHIER.log.$DATE mais ne ne concernant pas les fichiers déjà compressé portant l'extention .gz.
|
||||
|
||||
## Tester et valider la configuration
|
||||
|
||||
* Pour vérifier qu'il n'y a pas d'erreurs globalement de syntaxe :
|
||||
|
||||
~~~
|
||||
logrotate /etc/logrotate.d/
|
||||
~~~
|
||||
|
||||
* Pour débugger le comportement d'un fichier de configuration :
|
||||
|
||||
~~~
|
||||
logrotate --verbose --debug --force /etc/logrotate.d/fichier_configuration
|
||||
~~~
|
||||
|
||||
## FAQ
|
||||
|
||||
### Augmenter la fréquence des logs
|
||||
|
||||
Dans le cas où on log beaucoup et on n'a pas beaucoup d'espace libre pour
|
||||
la partition où résident les logs, on peut augmenter la fréquence de
|
||||
rotation des logs en appliquant ce pseudo-diff :
|
||||
Si les logs prennent beaucoup d'espace disque, on peut augmenter la fréquence de rotation en effectuant ce changement :
|
||||
|
||||
~~~
|
||||
- weekly
|
||||
|
@ -73,8 +96,6 @@ rotation des logs en appliquant ce pseudo-diff :
|
|||
+ rotate 365
|
||||
~~~
|
||||
|
||||
## FAQ
|
||||
|
||||
### parent directory has insecure permissions
|
||||
|
||||
Si erreur du type :
|
||||
|
|
Loading…
Reference in New Issue