18
0
Fork 0
wiki/HowtoLogrotate.md

1.3 KiB

Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.

Logrotate est un programme qui permetde gérer la croissance et l'historique des fichiers de logs.

Principe général

Le programme est exécuté régulièrement, avec un fichier de configuration en paramètre.

Par défaut, c'est /etc/logrotate.conf qui habituellement charge toutes les configurations présentes dans /etc/logrotate.d/

Les paquets des progammes qui génèrent des logs (par exemple Apache, Postfix, ...) fournissent généralement une configuration pour logrotate.

Stratégie de gestion

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, ... :

/home/USER/apps/production/*/shared/log/*.log {
    su USER GROUP
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    dateext
    dateformat .%Y-%m-%d
    dateyesterday
    copytruncate
}

Cette stratégie va faire une rotation hebdomadaire, conserver 52 semaines (1 an), compresser les logs passés après les avoir datés.

L'instruction copytruncate est importante car le descripteur de fichier ouvert par l'application ne va pas changer.