Mataio97 a écrit 5 commentaires

  • # Script purge

    Posté par  . En réponse au message Script de purge. Évalué à 1. Dernière modification le 08 mars 2016 à 20:11.

    Bon j'ai finalement trouver la solution à mon problème.
    je mets le code au cas ou cela pour etre utile pour d'autre.

    find /chemin/ -maxdepth 1 -type d -mtime +60 -name '[0-9][0-9][0-9]' | while read folder
    do
      echo "Traitement du dossier:"$folder
      cd $folder/
      ls -tr | head -n2 | xargs tar cvf archive.tar
      find $folder/* ! -name 'archive.tar' -exec rm -rf '{}' \;
     done

    Merci à tous.

  • # script purge

    Posté par  . En réponse au message Script de purge. Évalué à 1.

    Personne peut m'aider
    UP merci

  • # Script purge

    Posté par  . En réponse au message Script de purge. Évalué à 1.

    Imaginons que dans le dossier 500, il y ait une soixantaine de sous-dossiers, je prends les deux premiers dossiers et fait une archive dessus.
    Cependant en lancant le rm, je n'effacerai que les deux premiers dossiers, alors que je souhaite effacer tous les sous dossiers et laisser seulement l'archive.

  • # Suite Purge

    Posté par  . En réponse au message Script de purge. Évalué à 1. Dernière modification le 02 mars 2016 à 19:55.

    Merci pour vos réponses:

    Je bloque pour la suppression, car je ne vois pas comment dire à rm de supprimer tous les sous-dossiers hormis l'archive (archive.tar) precedemment crée.

    Le xargs sera exécuté dans des dossiers differents du fait que l'on soit dans une boucle.Je ne vois pas comment il ppourra ecraser une archive deja existant.

    Prenons 2 dossiers 400 et 500, dans un premier temps il va rentrer dans le dossier 400, va faire un tar des 2 premiers fichiers, puis va passer au dossier 500 et faire un autre tar et ainsi de suite.

    Ca se passe comme cela normalement?

  • # Script de purge

    Posté par  . En réponse au message Script de purge. Évalué à 1.

    Merci d'avoir pris le temps de me répondre, j'ai oublier de mettre la commande que j'utilise pour cela:

    find /mon_chemin/ -maxdepth 1 -type d -name '[0-9][0-9][0-9]' -mtime +60 | while read folder; do echo "Traitement du dossier:"$folder; cd $folder/; ls -tr | head -n2 | xargs tar cvf archive.tar; done

    Elle fonctionne bien, mais manque la partie pour supprimer les sous-dossiers et je vois pas trop comment l'incorporer dans ma commande.

    Je suis un peu perdu :(