J'essaie de supprimer tous les fichiers et dossiers dans le /tmp
dir datant de plus d'un jour.
Je sais supprimer tous les fichiers et dossiers que j'ai à faire
rm -rf *
Mais je ne sais pas comment trouver tous les fichiers et dossiers de plus d'un jour pour les supprimer et y mettre le cron.
Réponse acceptée :
Tout d'abord, utilisez find
pour sélectionner ces fichiers :
find /tmp -mmin +1440
trouvera les fichiers qui ont été modifiés il y a plus de 1440 minutes. (Il existe une option pour utiliser des jours au lieu de minutes, mais cela arrondit vers le haut et +1 signifiera 2 jours ou plus, malheureusement. Voir l'avis ci-dessous).
Essayez ceci, et si vous êtes convaincu que cela trouve les bons fichiers, supprimez-les en une seule fois :
find /tmp -mmin +1440 -delete
Voir man find
pour d'autres possibilités (heure du dernier changement d'état, heure d'accès).
Avis sur l'utilisation de -mtime +1
:
Dans l'homme trouver
C'est écrit :
-mtime n
Les données du fichier ont été modifiées pour la dernière fois il y a n*24 heures.
Mais il dit aussi :
Voir les commentaires pour
-atime
pour comprendre comment l'arrondi affecte l'
interprétation des heures de modification des fichiers.Les commentaires pour
-atime
dites :Lorsque find détermine combien de périodes de 24 heures le fichier a été accédé pour la dernière fois, toute partie fractionnaire est ignorée, donc pour correspondre à -atime +1 , un
fichier doit avoir été consulté il y a au moins deux jours.
En d'autres termes, -mtime
ne peut compter qu'en unités de 24 heures ou d'un jour chacune jusqu'à -mtime +1
va, cela signifie exactement plus d'un jour par au moins un jour (c'est-à-dire deux jours +)
-mmin
d'autre part peut compter en minutes. Donc, si une précision stricte est vitale, alors -mmin +1440
( 1440 minutes =1 jour ) pourrait être utilisé à la place de -mtime +1