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

Apache - Désactiver SSL 2.0, SSL 3.0 et opter pour une configuration SSL moderne et sûre.

Cet article vous montre comment désactiver les protocoles SSL 2.0, SSL 3.0 et les anciennes versions de TLS sur votre...

En savoir plus

Paramètres des serveurs mail Kinamo (feuille de triche)

L'article suivant vous donne un résumé de la configuration et noms du serveurs mail de Kinamo. Avec la liste ici...

En savoir plus

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

L'article suivant vous explique comment ajouter un filtre spécial pour mettre des messages SPAM automatiquement dans un dossier dans votre...

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!

Sélectionnez votre langue

Toutes les langues: