dans mon var/log/apache2
j'ai des fichiers access.log, des fichiers error.log
et avec la config donnée plus haut (qui dit de traiter /var/log/apache2/*.log), il fait bien la rotation de
access.log.5.gz => suppression
access.log.4.gz => access.log.5.gz
access.log.3.gz => access.log.4.gz
access.log.2.gz => access.log.3.gz
access.log.1 => access.log.2.gz
access.log => access.log.1
la meme chose pour error.log
donc je ne vois pas pourquoi il ne pourrait pas le faire pour
/var/log/usineA/*.bckp
avec switchA-20120131.bkcp, switchB-20111231.bckp
sauf peut-etre qu'il va falloir l'aider au debut
en renommant le premier fichier switchA.bckp
celui d'avant en switchA.bckp.1
etc
ainsi il garde la date de la creation dans les infos du fichier, sur le systeme de fichier.
bon, j'avoue que je ne sais pas comment il peut se comporter si tu le fais tourner plus regulierement que daily
car à ce que tu dis, on pourrait avoir 40 fichiers dans une journée
puis rien pendant 6 mois
mais tu auras un probleme similaire avec ton script de purge,
que tu feras tourner toutes les X jours
et qui devra purger tout ce qui est plus vieux de Y jours
ex : avec Y = 6 mois (180jours)
pour un switch il ne va te garder que la config de fin janvier 2013 car la precedente (fin janvier 2012) date de plus de 6 mois
mais il va te garder les 25 sauvegardes d'un autre switch qui a été modifié 25 fois entre aout 2012 et janvier 2013.
alors que logrotate à l'inverse, tu lui dis de ne garder que les 25 dernieres,
il se fichera de savoir de quand date le fichier, il gardera 25 fichiers : xxxx.bckp et xxxx.bkcp.1 à xxxx.bckp.24
si un switch a été modifié 30 fois (1 par jour) en janvier, il ne gardera que les 25 dernieres (les 25 derniers jours)
mais si un switch a été modifié 5 fois par ans pendant 5 ans, il gardera bien les 25 dernieres configs (soit 5 ans)
Bref, il y a des outils pour faire ce que tu demandes, il faut juste prendre le temps de tester
(et de toutes facons il aurait aussi fallu tester ton script)
donc tu prends quelques fichiers que tu 'cp -p' (pour conserver les infos de date en autre) dans un dossier de test
tu configure logrotate sur ce dossier de test
avec une rotation daily (on peut peut-etre descendre à hourly pour un changement toute les heures)
et tu verras ce qu'il fait avec tes fichiers dans test
[^] # Re: tout ca est intéressent :)
Posté par NeoX . En réponse au message Script de purge sous linux. Évalué à 2.
dans mon var/log/apache2
j'ai des fichiers access.log, des fichiers error.log
et avec la config donnée plus haut (qui dit de traiter /var/log/apache2/*.log), il fait bien la rotation de
access.log.5.gz => suppression
access.log.4.gz => access.log.5.gz
access.log.3.gz => access.log.4.gz
access.log.2.gz => access.log.3.gz
access.log.1 => access.log.2.gz
access.log => access.log.1
la meme chose pour error.log
donc je ne vois pas pourquoi il ne pourrait pas le faire pour
/var/log/usineA/*.bckp
avec switchA-20120131.bkcp, switchB-20111231.bckp
sauf peut-etre qu'il va falloir l'aider au debut
en renommant le premier fichier switchA.bckp
celui d'avant en switchA.bckp.1
etc
ainsi il garde la date de la creation dans les infos du fichier, sur le systeme de fichier.
bon, j'avoue que je ne sais pas comment il peut se comporter si tu le fais tourner plus regulierement que daily
car à ce que tu dis, on pourrait avoir 40 fichiers dans une journée
puis rien pendant 6 mois
mais tu auras un probleme similaire avec ton script de purge,
que tu feras tourner toutes les X jours
et qui devra purger tout ce qui est plus vieux de Y jours
ex : avec Y = 6 mois (180jours)
pour un switch il ne va te garder que la config de fin janvier 2013 car la precedente (fin janvier 2012) date de plus de 6 mois
mais il va te garder les 25 sauvegardes d'un autre switch qui a été modifié 25 fois entre aout 2012 et janvier 2013.
alors que logrotate à l'inverse, tu lui dis de ne garder que les 25 dernieres,
il se fichera de savoir de quand date le fichier, il gardera 25 fichiers : xxxx.bckp et xxxx.bkcp.1 à xxxx.bckp.24
si un switch a été modifié 30 fois (1 par jour) en janvier, il ne gardera que les 25 dernieres (les 25 derniers jours)
mais si un switch a été modifié 5 fois par ans pendant 5 ans, il gardera bien les 25 dernieres configs (soit 5 ans)
Bref, il y a des outils pour faire ce que tu demandes, il faut juste prendre le temps de tester
(et de toutes facons il aurait aussi fallu tester ton script)
donc tu prends quelques fichiers que tu 'cp -p' (pour conserver les infos de date en autre) dans un dossier de test
tu configure logrotate sur ce dossier de test
avec une rotation daily (on peut peut-etre descendre à hourly pour un changement toute les heures)
et tu verras ce qu'il fait avec tes fichiers dans test