Supprimer efficacement 1 million de fichiers sur des serveurs Linux

Catégorie: Serveurs cloud

CentOS Debian Linux

Nous sommes tous déjà passés par là : certains scripts incontrôlables causent des maux de tête car un dossier - généralement des sessions - était rempli de millions de fichiers. Linux n'est pas très content de cela, la suppression du répertoire n'est pas une option, et la fidèle commande "rm -rf" semble également avoir abandonné. Pour aggraver les choses, vous souhaitez simplement supprimer des fichiers d'il y a quelques jours... Quelles sont les options ?

Find est votre ami

La commande Linux "find" est une solution possible. Spontanément, beaucoup chercheront à :

find /yourmagicmap/* -type f -mtime +3 -exec rm -f {} \;

La commande ci-dessus générera une liste des fichiers de plus de trois jours et transmettra chaque fichier trouvé à la commande rm. Cependant, il y a un problème avec la règle ci-dessus : cela prendra du temps, car appeler la commande rm un million de fois n'est pas non plus ce que l'on peut appeler efficace.

Une meilleure option est la commande ci-dessous :
 find /yourmagicmap/* -type f -mtime +3 -delete

Cela demande immédiatement à la commande find de supprimer tout cela également. Faites-en une habitude tout de suite et mettez-la dans une tâche cron, si cela doit être fait fréquemment.

L'alternative rsync !

rsync est sans aucun doute l'une des commandes les plus utiles en matière d'actions sur les fichiers. Rsync peut bien sûr gérer toutes les synchronisations de volume possibles, mais il existe également un moyen de vider un répertoire via rsync.
Dans cet exemple, nous supposons que vous avez un dossier appelé /tmp/empty/ qui est vide et un dossier /tmp/session/ qui contient trop de fichiers inutiles. Vous pouvez supprimer les fichiers via la ligne ci-dessous :

rsync -a --delete /tmp/empty /tmp/session/

Quel est maintenant le commando le plus rapide ?

rm: supprimer des masses de fichiers n'est pas une option !

find -exec: une option, mais lente!

find -delete: moyen rapide de supprimer des masses de fichiers.

rsync --delete: sans aucun doute le plus rapide !


Articles connexes

Comment choisir un bon nom de domaine ?

Conseils pratiques, pièges et un peu de bon sens : découvrez ici les astuces en or pour choisir un bon...

En savoir plus

Comment choisir entre un domaine .com ou .be ?

Que vous choisissiez un domaine .com ou .be, assurez-vous que votre choix est conforme à l'objectif du site web et...

En savoir plus

Nom de marque ou nom de domaine descriptif ?

Opter pour un nom de marque fort ou pour un nom de domaine descriptif qui parle clairement de l'offre ...

En savoir plus

Besoin d'aide supplémentaire?

Vous n'avez pas obtenu de réponse à toutes vos questions?
Ne vous inquiétez pas, faites une demande d'assistance!

Kinamo

Sélectionnez votre langue