Recette de shell: une ligne pour supprimer des fichiers non touchés depuis deux heures

Aujourd’hui, une recette rapide qui répond à ce besoin: trouver dans mon répertoire /tmp tous les fichiers écrits par apache et auxquels on n’a pas accédé depuis plus de deux heures.

$ find /tmp -maxdepth 1 -amin "+$((60 * 2))" -user apache -type f -delete

L’option -amin filtre sur l’access time en minutes (⚠️ différent du modification time). Je calcule à la volée ici 2 heures en minutes, j’aurais pu écrire 120 directement, mais je trouvais ça plus facile si je voulais changer le nombre d’heures de différence. La valeur est préfixée par + pour signifier que je filtre sur tout ce qui est plus vieux de 2h.

Je filtre uniquement les fichiers -type f et non les répertoires, et je me limite à ce qui est à la racine de /tmp avec -maxdepth 1, ainsi qu’à ceux dont le propriétaire est apache grâce au filtre -user.

Cette ligne est exécutée dans un cron pour faire du nettoyage. J’aime bien quand c’est rangé.

Vous aimerez aussi...

Laisser un commentaire