Ich möchte einen nächtlichen Cron-Job ausführen, bei dem alle Dateien in einem Ordner gelöscht werden, auf die seit mindestens einer Woche nicht mehr zugegriffen wurde. Was ist der effizienteste Weg, dies in bash zu tun?
shell-script
files
cron
date
bloudermilk
quelle
quelle
find
kann basierend auf atime filtern. Die "Korrektheit" von atime hängt zumindest von der Konfiguration ab (siehenoatime
).Antworten:
Sie wollen das
find
Werkzeug .(Dies wird löschen Sie alle Dateien ( nur Stammkunden , keine Rohre, spezielle Geräte, Verzeichnisse, symbolische Links) in den angegebenen Ordner und alle Unterverzeichnisse (rekursiv) , wo die letzte Zugriffszeit ist länger als 7 Tage vor.)
quelle
-type f
um sicherzustellen, dass nur Dateien und nicht ganze Verzeichnisse gelöscht werden.Vielleicht möchten Sie herausfinden,
tmpwatch
welche in einen Cron-Job eingefügt werden können. Sie müssen nicht selbst mitspielenfind
. Bei RHEL liegt es in dertmpwatch
Drehzahl.quelle
find
.