[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Effacer plusieurs millions de fichiers d'un répertoire !



Bonjour,

Désolé, je n'ai pas mieux que `find/rsync` pour réaliser ta tâche massive de suppression.

Quelques remarques ci-dessous cependant :

4 avr. 2021, 09:30 de ajupin@jupin.net:

> par contre, le répertoire    /var/lib/php/sessions/ contient ....56 781 542 fichiers
>  J'ai lancé hier soir un : find . -cmin +30 | xargs rm;
>  Mais après plusieurs heures la commande échoue avec "trop    d'arguments"
>
Oui, pas étonnant, le `rm` se retrouve avec bien trop d'arguments de la sorte.

Tu peux limiter le nb de ses arguments par commande lancée en utilisant l'option `-n`.

Tant que t'y es, pour garder un œil sur les commandes générées, t'as qu'à aussi utiliser l'option `-t`.

Je ferais aussi gaffe à certains caractères ('\n'...) dans les noms de fichiers qui peuvent faire foirer le `rm`.
Donc j'utiliserais également `find -print0 | xargs -0`.
Par ailleurs, certains commentaires sur internet semblent indiquer que passer par `find -delete` serait plus rapide que `find | xargs rm`.
Tu peux peut-être essayer ?

>   Bref ce matin, il y a deux heures, je tente une nouvelle approche :    rsync -a --delete /tmp/empty/ /var/lib/php/sessions/
>  avec bien sur /tmp/empty qui est vide
>  Mais après deux heures de fonctionnement, je n'ai aucun retour de la    commande !
>
Ingénieux.
Pour l'histoire du retour manquant, t'as qu'à ajouter l'option `-v`.

l0f4r0


Reply to: