• [^] # Re: tout ca est intéressent :)

    Posté par . 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