FIND -ctime ne renvoi pas de resultat!!!

FIND -ctime ne renvoi pas de resultat!!! - Shell/Batch - Programmation

Marsh Posté le 21-06-2010 à 11:52:13    

Bonjour,  
j'ai effectué un script qui me permettre de supprimer tous les backups qui date de plus de 35 jours, alors j'ai mis la commande suivante :
find -ctime +35
 mais j'ai aucun résultat sachant que j'ai des backups qui date de plus de deux mois.
alor j'ai ajoute l'argument suivant : je veux supprimer tout les fichiers qui commence par Y et qui date de plus de 35 jours,  
find -name 'Y*' -ctime +35
mais toujours aucun résultat.
 
mais lorsque je met  
find -ctime -1  
il me donne tout les fichiers qui sont dans mon répertoire.
 
je n'arrive pas a comprendre...  
quelqu'un peut m'aider svp?

Reply

Marsh Posté le 21-06-2010 à 11:52:13   

Reply

Marsh Posté le 21-06-2010 à 12:04:39    

Il manque le répertoire de départ (habituellement, le répertoire courant, donc un point).
 
Donc, au lieu de :

find -name 'Y*' -ctime +35


Faire :

find . -name 'Y*' -ctime +35


 
Edit : Parfois, c'est mtime qu'il faut utiliser à la place de ctime.


Message édité par olivthill le 21-06-2010 à 12:07:12
Reply

Marsh Posté le 21-06-2010 à 12:11:58    

j'ai ajouter le point comme tu m'as dis, j'ai meme changer de repertoire et ajouter le chemain, mais toujours rien, chose qui est bizar c'est que lorsque je mets  
 
find . -name 'Y*' -ctime (ou mtime ou atime) -1 (ou -2 ou -3 tant que c'est un moins) je recois tout les fichiers qui existe dans ce repertoire.
 

Reply

Marsh Posté le 21-06-2010 à 12:15:55    

Dans les exemples que j'avais utilisé, j'avais mis aussi -type f .
Par exemple :

find . -type f -name "*.sql" -mtime -70 | cpio -ocvB >mon_archive.cpio
find . -type f -mtime +3 -a \( \( -name "*.gz" -a ! -name "test_*" \) -o \( -name "*.out" \) \)

Reply

Marsh Posté le 21-06-2010 à 12:45:14    

toujours aucune reponse, sachant que lorsque je tape  
ls -al je vois que chaque fichier a une date, car j'ai un backups de la base sql par jour, la date du backups est elle meme le nom du fichier, par exemple le backups du 15 juin sont nom est 'Y_15_06_10.SQL' donc lorsque je veux trouver ce fichier avec find je tape :
find . -name 'Y_15_06_10.sql' et je le trouve.
mais quand je veux les fichiers qui date de plus de 15 jours, il me revoit tous les fichiers et non pas que ceux qui sont avant le 15 juin.
 
je m'escuse je suis novice dans la programmation, d'apres man find,
-ctime +35 c'est bien pour avoir les fichiers qui date depuis 5 semaines ?  
si c'est le cas il doit m'envoyer tous les fichiers qui ont etaient creer a partir du  17 Mai, mais il m'envoit tout les fichies du repertoire

Reply

Marsh Posté le 21-06-2010 à 14:30:03    

+35 veut dire vieux de plus de 35 jours.
Pour avoir les fichiers plus récents que 35 jours, il faut mettre -35.

Reply

Marsh Posté le 21-06-2010 à 18:16:18    

ok merci beaucoup.
sa marche nikel.

Reply

Sujets relatifs:

Leave a Replay

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