supprimer les anciens dossiers

supprimer les anciens dossiers - Shell/Batch - Programmation

Marsh Posté le 16-01-2013 à 16:12:49    

Bonjour,
 
J'ai un script shell qui crée les dossiers sous cette format:
 

Code :
  1. timestamp=`date +%s`
  2. GLOBAL_RESULT=tests/Global_result_$timestamp.txt


 
donc à chaque exécution je génère un nouveau dossier de résultats.
je veux en première étape supprimer les dossiers anciens qui datent de la veille.
J'ai essayé cela:

Code :
  1. dir=`date --date="-1 day" +%s`
  2. rm -rf tests/results_$dir


 
Cous avez une idée?

Reply

Marsh Posté le 16-01-2013 à 16:12:49   

Reply

Marsh Posté le 17-01-2013 à 14:43:24    

Le find te permet de trouver ce qui n'a pas été modifié depuis plus de 1 jour (ou créer il y a plus de 1 jour, etc.), ça peux être une solution, par exemple :
 

Code :
  1. find test/* -prune -type d -mtime +1 -exec rm -rf {} \;


 
Attention a ne pas te tromper dans le chemin qui suit le find surtout si tu passes par une variable !!! Une simple variable non settée, et le find s’exécute sur / et la t'es bon pour une réinstall d'OS si tu as lancé le scripts avec de gros droits (root par exemple).

Reply

Marsh Posté le 21-01-2013 à 11:58:07    

On sent l'expérience :D

Reply

Sujets relatifs:

Leave a Replay

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