Utiliser find pour supprimer des dossiers
Supposons que dans le dossier data vous vouliez supprimer les dossiers ayant plus de 45 jours, la commande find peux le faire pour vous:
find chemin_du_dossier_data -prune -ctime +45 -exec rm -r {} \; -print
-prune, permet de ne pas rentrer dans le dossier à supprimer. En effet find semble supprimer d'abord le dossier tout en gardant en mémoire qu'il y avait des fichiers dedans. Puis il essaye d'effacer ces fichiers qui n'existe plus et affiche donc un message d'erreur.
L'utilisation de -prune permet d'éviter cette affichage.
-ctime permet de spécifier un délai depuis lequel le fichier n'a pas été modifier, (voir man find pour plus d'option).
+45 paramètre de ctime, comprendre +45*24h.
-exec une fois que find à trouvé des fichiers il applique à chacun la commande en paramètre de exec.
-rm -r {}\; la commande passé en paramètre de exec, qui permet de supprimer des dossiers.le \; permet de spécifier la fin de la commande de exec.
-print permet d'afficher le dossier en cours de suppression.
find chemin_du_dossier_data -prune -ctime +45 -exec rm -r {} \; -print
-prune, permet de ne pas rentrer dans le dossier à supprimer. En effet find semble supprimer d'abord le dossier tout en gardant en mémoire qu'il y avait des fichiers dedans. Puis il essaye d'effacer ces fichiers qui n'existe plus et affiche donc un message d'erreur.
L'utilisation de -prune permet d'éviter cette affichage.
-ctime permet de spécifier un délai depuis lequel le fichier n'a pas été modifier, (voir man find pour plus d'option).
+45 paramètre de ctime, comprendre +45*24h.
-exec une fois que find à trouvé des fichiers il applique à chacun la commande en paramètre de exec.
-rm -r {}\; la commande passé en paramètre de exec, qui permet de supprimer des dossiers.le \; permet de spécifier la fin de la commande de exec.
-print permet d'afficher le dossier en cours de suppression.
Partager cet article
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article