Supprimer les vieux fichiers de plus de X jours

Dans la gestion d'un serveur dédié Debian, il est parfois nécessaire de devoir supprimer des fichiers présents dans un répertoire vieux de plusieurs jours. Voici un petit tuto qui vous explique comment supprimer ces fichiers vieux de X jours.

Pré-requis/Difficultés

La commande est à saisir dans une console en ligne de commandes, elle fonctionne sur toutes les distributions Linux et a été testé sur les dernières versions de Debian.

Difficulté
Très facile

La commande

Pour supprimer les vieux fichiers vieux de X jours, rien de plus simple avec la commande find associée à la commande rm. La commande find sur linux permet de passer un tas d'arguments intéressants, dont -exec qui permet l'exécution d'une autre commande sur chaque fichier.

find /chemin/vers_fichiers -mtime +nb_jour -exec rm {} \;

Notez qu'il y a des espaces entre rm, {} et \;

Les explications

Le premier argument est le chemin d'accès aux fichiers. Il peut s'agir d'un chemin, d'un répertoire ou d'un caractère générique. Je recommanderais d'utiliser le chemin complet.

Effectuez un test sans l'argument -exec pour vous assurer d'obtenir les bons résultats.

Le deuxième argument, -mtime, est utilisé pour spécifier le nombre de jours d'ancienneté du fichier. Si vous précisez +7, la commande find vous sélectionnera les fichiers de plus de 7 jours.
Le troisième argument, -exec, vous permet de passer une commande. Ici, pour la suppressions, nous utilisons la commande rm.
Le {} \; à la fin de la ligne de commande est nécessaire pour terminer.

Notes de version

  • [27/01/2020] : Création de l'article

Auteurs et sources