Suppression de fichiers de plus de n jours

Suppression de fichiers de plus de n jours - Shell/Batch - Programmation

Marsh Posté le 19-09-2006 à 12:43:29    

Bonjour,
Je cherche à supprimer des fichiers d'un répertoire automatiquement si ceux-ci ont plus de 60 jours.
Je n'ai pas réussi avec la commande find et les options ctime, atime...
Comment faire?
Merci!


---------------
Dur de commencer le Shell...
Reply

Marsh Posté le 19-09-2006 à 12:43:29   

Reply

Marsh Posté le 19-09-2006 à 17:14:27    

Pour lister les fichier du répertoire repertoire ayant plus de  60 jours (date de dernière modification) :

find repretoire -mtime +60 -ls


Pour supprimer ces  fichiers :

find repretoire -mtime +60 -exec  rm  {} \;


Attention, commande find  parcours aussi  les  sous-répertoires.
 
Il est possible de filter les fichiers sélectionner sur leur, leur type  ...  (voir  man).
Par exemple,  la  commande suivante  supprime  les  fichiers *.log aytant plus de  60 jours :

find repretoire -mtime +60 -name '*.log' -exec rm {} \;

Reply

Marsh Posté le 20-09-2006 à 13:12:34    

Je te remercie aigles.
En fait j'ai trouvé hier soir comment faire:
find . -mtime +100 -exec rm {}\;
Par contre je ne savais pas que la commande find parcourrait les sous-répertoire: heureusement que je n'ai pas de répertoire en dessous de celui où je souhaite supprimer des fichiers!
Je penserai donc à filtrer mes fichiers au cas où quelqu'un créérait un sous-répertoire dedans.
Merci!


---------------
Dur de commencer le Shell...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed