Main Contents

Effacer les fichiers de plus de 30 jours!

mars 16, 2009

Une petite astuce sur comment effacer des fichiers qui ont plus de 30 jours dans un dossier.
On utilise pour cela la commande find pour trouver la liste de fichier.

#find . -atime +30

Une fois la liste de fichier récupérer, on peut l’utiliser pour effacer chaqu’un des fichiers, pour cela on va utiliser la commande xargs avec un pipe :

#find . -atime +30 | xargs rm

Et voilà, il suffit de créer un script, et de le faire exécuter par un cron! Si votre dossier n’est pas le dossier courant, remplacer le point par votre arborescence.

Catégorie(s): Serveur, Tutorial | Comments (2)

2 Comments

  1. MatC (5 comments) mars 26, 2009 @ 10 h 06 min

    j’utilise cette commande sur plusieurs serveurs, et plutôt que d’utiliser un pipe, l’argument -exec de find va très bien 😉

    #find . -atime +30 -exec rm {} \;

  2. kraft (36 comments) avril 8, 2009 @ 23 h 07 min

    Oui, mais attention en cas de très gros volume.
    Ta méthode va créer un process pour chaque fichier, donc si y en a des milliers, il risque de pas pouvoir arriver au bout. Avec ma méthode pas de soucis, la liste des fichiers est passée en argument à rm ! 😉

Leave a comment