Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Script de nettoyage

3 réponses
Avatar
Jolitorax
Bonjour,

A faire suivre au bon endroit si celui ci n'est pas le plus appropri=E9

Je cherche =E0 faire un script en bash tr=E8s simple: supprimer un
r=E9pertoire et tout son contenu si la date de derni=E8re modification de
ce r=E9pertoire est sup=E9rieure =E0 disons 28 jours.

Le soucis, c'est que la d=E9cision de suppression doit =EAtre absolument
prise sur la date du r=E9pertoire, et pas sur celle des fichiers et des
sous r=E9pertoire qui le compose

Un exemple, soit 2 r=E9pertoires, toto le r=E9cent et tata le vieux:

ll

drwxr-xr-x 2 machin machin 4096 2008-01-23 13:02 tata/
drwxr-xr-x 3 machin machin 4096 2009-01-23 13:09 toto/

ll -R

tata:
total 0
-rw-r--r-- 1 machin machin 0 2008-01-23 13:02 truca
-rw-r--r-- 1 machin machin 0 2008-01-23 13:02 trucb
-rw-r--r-- 1 machin machin 0 2008-01-23 13:02 trucc

toto:
total 4
drwxr-xr-x 2 machin machin 4096 2008-01-23 13:10 rep-vieux/
-rw-r--r-- 1 machin machin 0 2009-01-23 13:02 truc1
-rw-r--r-- 1 machin machin 0 2009-01-23 13:02 truc2
-rw-r--r-- 1 machin machin 0 2009-01-23 13:02 truc3

toto/rep-vieux:
total 0
-rw-r--r-- 1 machin machin 0 2008-01-23 13:10 truc4

Je cherche que le script supprime tata et tout ce qu'il contient, et
ne touche absolument pas =E0 toto malgr=E9 le fait que toto contienne un
r=E9pertoire et un fichier ancien

find connait les options -maxdepth et -atime qui m'int=E9ressent, mais
selon le man les options -*time ne concernent que les fichiers.

find . -maxdepth 1 -type d -atime +28

Par exemple ne me donne aucun r=E9sultat


Des id=E9es vers ou creuser, tout en restant en bash ?

Merci

--
Jean Louis Mas

3 réponses

Avatar
Alain Montfranc
Jolitorax a écrit

find . -maxdepth 1 -type d -atime +28



atime c'est pour l'acces. Find va le changer. Donc...

Plutot mtime
Avatar
Jolitorax
Alain Montfranc nous narrait:

find . -maxdepth 1 -type d -atime +28





atime c'est pour l'acces. Find va le changer. Donc...
Plutot mtime



Bien vu, ça marche. Merci

Par contre, quel est l'intérêt d'utiliser -atime avec find s'il modifie
la date d'accès à chaque recherche ?

--
Jean Louis Mas
BKRT #3
Avatar
Alain Montfranc
Jolitorax a écrit
Alain Montfranc nous narrait:

find . -maxdepth 1 -type d -atime +28





atime c'est pour l'acces. Find va le changer. Donc...
Plutot mtime



Bien vu, ça marche. Merci

Par contre, quel est l'intérêt d'utiliser -atime avec find s'il modifie
la date d'accès à chaque recherche ?



La date d'acces des repertoires puisqu'ils sont lus, pas des fichiers