Je voudrais exécuter un travail cron nocturne qui supprime tous les fichiers d'un dossier qui n'ont pas été consultés depuis une semaine ou plus. Quelle est la façon la plus efficace de le faire en bash?
shell-script
files
cron
date
bloudermilk
la source
la source
find
peut filtrer en fonction de l'heure. La «justesse» de atime dépend au moins de la configuration (voirnoatime
).Réponses:
Vous voulez l'
find
outil .(Cela supprimera tous les fichiers ( uniquement les fichiers normaux , pas de canaux, les périphériques spéciaux, les répertoires, les liens symboliques) dans le dossier donné et tous les sous-répertoires (récursivement) où le dernier temps d'accès est plus long qu'il y a 7 jours.)
la source
-type f
pour vous assurer qu'il supprime uniquement les fichiers, pas les répertoires entiers.Vous voudrez peut-être vérifier ce
tmpwatch
qui peut être mis dans un travail cron. Pas besoin de rouler avecfind
. Sur RHEL, c'est dans letmpwatch
RPM.la source
find
.