Próbuję usunąć niektóre pliki archiwów z folderu na serwerze plików CentOS za pomocą usługi cronjob. Wymagania:
- Usuń pliki z ostatniego miesiąca
- Plik .tgz pierwszego dnia miesiąca należy pozostawić nietknięty.
Wiem, że mogę usunąć pliki starsze niż x dni za pomocą:
find /path -mtime +30 -exec rm {} \;
Nie pozostawi to jednak samego archiwum utworzonego pierwszego dnia miesiąca. Wydaje się, że Internet nie zapewnia (jeszcze) odpowiedzi.
+29
zamiast +30
zrobić?
find /path -mtime +30 ! -name log-2013-02-01.tgz -exec rm {} \;
?
log-2013-02-27.tgz
I takie? W takim przypadku możesz uruchomićtouch *-01.tgz
przedfind
poleceniem. Wszystkie pliki z pierwszego każdego miesiąca należy zaktualizować do bieżącego znacznika czasu, a tym samym nie dopasować.