Logrotate permet de faire une rotation des logs ! C'est certainement déjà
utiliser sur votre système. Le but est ici de l'utiliser pour ses logs
perso.
Exemple pratique d'utilisation
Actuellement :
Vous avez un fichier de log qui fait 2 Go parce que ça fait
6 mois que vous avez installé votre serveur. Mais l'espace disque
vous le payez et ça commence à être lourd de vider les logs
tous les matins.
Avec log rotate vous avez ceci
10 fichiers de log (1 par mois) quand on passe au mois n+1 le fichier log
n-9 est supprimé et le mois n-8 et renommé en n-9. L'avantage c'est que le
nombre de fichier de log ne change pas logrotate peut compresser tous les logs
des mois passés. Et quand vous cherchez les logs du mois dernier pas besoin de
parser le log de 2 Go. Le découpage des fichiers n'est pas forcément horaire.
Ca peut être un découpage par taille (rotation des logs quand le log courant
atteint 10 Mo)
Dans la configuration de logrotate ( /etc/logrotate.conf )
il y a :
include /etc/logrotate.d
Donc logrotate charge les fichiers dans /etc/logrotate.d .
Donc si vous avez besoin d'un logrotate vous créez un nouveau fichier
dans /etc/logrotate.d :
Exemple du fichier /etc/logrotate.d/nginx :
/opt/nginx/logs/error.log {
daily
rotate 10
compress
delaycompress
missingok
notifempty
create 644 root root
}
/opt/nginx/logs/access.log {
daily
rotate 10
compress
delaycompress
missingok
notifempty
create 644 root root
}
Rotation journalière avec 10 jours de log (compression) je vous encourage à
lire la documentation francaise de logrotate : http://www.delafond.org/traducmanfr/man/man8/logrotate.8.html
Source : http://www.croc-informatique.fr/2009/06/rotation-des-logs-avec-logrotate/