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

Qu'est-ce qu'un certificat SSL racine ou intermédiaire ?

Les certificats SSL racine et intermédiaires sont des composants de l'infrastructure à clé publique (ICP) utilisée pour permettre une communication...

En savoir plus

Keytool - Installer un certificat SSL

Ce manuel vous explique comment installer un certificat qui vient de vous être émis sur le serveur web Java, comme...

En savoir plus

Keytool - Générer une demande de certificat SSL (CSR)

Keytool est un outil de gestion pour les keystores, les clés publiques et privées et les certificats SSL des serveurs...

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: