Supprimer efficacement 1 million de fichiers sur des serveurs Linux

Dernière mise à jour sur 6 sept. 2023, 13:14:56.
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

Hoe de taal van Kinamo webmail aanpassen

Dit FAQ-artikel legt uit hoe je de taal van de gebruikersinterface kunt aanpassen in Kinamo Webmail

En savoir plus

Puis-je vérifier mon e-mail en ligne (par webmail)?

Si vous avez une adresse e-mail chez Kinamo, vous pouvez consulter votre boîte aux lettres en ligne en vous rendant...

En savoir plus

Créer un filtre anti-spam avec le Kinamo Webmail

Avez-vous une adresse e-mail chez Kinamo ? Découvrez ici comment créer un filtre spécial via Kinamo Webmail pour garder les...

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

Toutes les langues: