je désire configurer logrotate afin de garder les fichiers de log des 7 derniers jours en clair et les plus vieux en compressé jusqu'a 3 mois.
Au delà les fichiers doivent être supprimés.
Et 'il possible de réaliser cela avec logrotate ?
la structure des fichier de log est :
1 jour /10-04-2006-fichier.log
2 jour /11-04-2006-fichier.log
3 jour /12-04-2006-fichier.log
Etc ...
Merci de vos solutions...
# nom des fichiers
Posté par khan . Évalué à 1.
En l'occurence fichier.log et non plus avec la date. Car sinon tu vas avoir une rotation sur chaque fichier ...
Maintenant si la base est commune, tu auras une rotation du genre en positionnant l'option daily pour la rotation:
fichier.log -> le courant
fichier.log.1
fichier.log.2
etc..
et toi tu aimerais avoir fichier.log.8.gz
Maintenant, je ne trouve rien dans les docs de logrotate te permettant de dire de faire un compress uniquement sur les fichiers au dela d'une date.
Rien ne t'empeche de faire un script que tu met en cron a minuit.
Mais je te conseille d'utiliser un format incremental pour tes dates:
20060411.fichier.log
20060412.fichier.log
Je suis pas sur que le format FR soit facile a utiliser.
K.
[^] # Re: nom des fichiers
Posté par Cédric Poirson . Évalué à 1.
if [ `find /var/log/IP-hosts/ -name '*.log' -mtime +7` ]; then
find /var/log/IP-hosts/ -name '*.log' -mtime +7 | xargs gzip
fi
find /var/log/IP-hosts/ -name '*.log.gz' -mtime +90 | xargs rm -f
Merci quand meme....
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.