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)
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 {} \;
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 ! 😉