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: