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?
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?
Antworten:
Sie wollen das findWerkzeug .
find folder -depth -type f -atime +7 -delete
(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.)
-type fum sicherzustellen, dass nur Dateien und nicht ganze Verzeichnisse gelöscht werden.
Vielleicht möchten Sie herausfinden, tmpwatchwelche in einen Cron-Job eingefügt werden können. Sie müssen nicht selbst mitspielen find. Bei RHEL liegt es in der tmpwatchDrehzahl.
find.
findkann basierend auf atime filtern. Die "Korrektheit" von atime hängt zumindest von der Konfiguration ab (siehenoatime).