LINUX BASH purge vieux répertoire

sbouli Messages postés 208 Statut Membre -  
sbouli Messages postés 208 Statut Membre -
Bonjour,

j'ai besoin d'un tout petit coup de main, j'ai des répertoires de la forme

drwxr-xr-x 2 root root 38064 2008-11-02 00:05 20081101
drwxr-xr-x 2 root root 38064 2008-11-03 00:05 20081102
drwxr-xr-x 2 root root 38064 2008-11-04 00:05 20081103
drwxr-xr-x 2 root root 38064 2008-11-05 00:05 20081104
drwxr-xr-x 2 root root 38064 2008-11-06 00:05 20081105
drwxr-xr-x 2 root root 38064 2008-11-07 00:05 20081106
drwxr-xr-x 2 root root 38064 2008-11-08 00:05 20081107
drwxr-xr-x 2 root root 38064 2008-11-09 00:05 20081108
drwxr-xr-x 2 root root 38064 2008-11-10 00:05 20081109
drwxr-xr-x 2 root root 38064 2008-11-11 00:05 20081110



et je souhaite cronner un fichier sh qui purge quotidiennement les répertoires de plus d'1 mois ...

pour le moment je fais manuellement un truc du genre :
rm 200808* -r

mais c'est lourd ...

Merci pour votre aide.

Stéphane
A voir également:

2 réponses

iluvatar
 
Bonsoir,

sans garanti voici le genre de chose que je ferrai pour trouver les répertoire ayant + d'un mois
find $REP -ctime 31 -type d

et pour les supprimer
find $REP -ctime 31 -type d -exec rm -rf {} \;

Cordiallement
0
sbouli Messages postés 208 Statut Membre 2
 
Bonjour,

Désolé pour le retard mais je viens de retomber sur le pb et de découvrir votre réponse ...

Cependant un
find -ctime 31 -type d

me renvois le répertoire d'il y a 31 jours, pas les répertoires antérieurs à 31 jours ...

soit pour aujourd'hui, le répertoire ./20090118

ne peut-on préciser <= et non juste = ?

je pense avoir trouvé en faisant un find -ctime +31 -type d


Merci d'avance.

Stéphane
0
epoulos Messages postés 100 Statut Membre 499
 
Bonjour,

J'aimerais savoir comment faire cela pour des fichiers parce que cela ne me trouve que des répertoires. De plus, au lieu de les rechercher par date de modification, j'aimerais qu'il trouve les dates de création.

Merci d'avance.
0
sbouli Messages postés 208 Statut Membre 2
 
Bonjour,

ça me parait faisable en regardant le man de find

find -ctime +31 -type d

devrait devenir quelque chose comme (je ne suis pas sûr du atime, ctime ou mtime)

find -atime +31 -type f

stéphane
0