Chciałbym uruchomić nocne zadanie CRON, które usuwa wszystkie pliki w folderze, do którego nie uzyskano dostępu przez tydzień lub dłużej. Jaki jest najbardziej efektywny sposób na zrobienie tego w bash?
shell-script
files
cron
date
bloudermilk
źródło
źródło
find
może filtrować na podstawie atime. „Poprawność” czasu zależynoatime
co najmniej od konfiguracji (patrz ).Odpowiedzi:
Chcesz
find
narzędzie .(Spowoduje to usunięcie wszystkich plików ( tylko zwykłe , bez potoków, urządzeń specjalnych, katalogów, dowiązań symbolicznych) z danego folderu i wszystkich podkatalogów (rekurencyjnie), w których ostatni czas dostępu jest dłuższy niż 7 dni temu.)
źródło
-type f
tam dodać, aby usunąć tylko pliki, a nie całe katalogi.Możesz sprawdzić,
tmpwatch
które można umieścić w zadaniu crona. Nie musisz sam z siebie korzystaćfind
. Na RHEL jest wtmpwatch
RPM.źródło
find
.