Scrip, aby usunąć pliki starsze niż 6 miesięcy


12

Konfigurowanie zadania crona raz w miesiącu w celu uruchomienia skryptu.

Skrypt polega na obracaniu pliku co miesiąc, ponieważ staje się on zbyt duży i zmienia nazwę starego. gdy plik jest starszy niż sześć miesięcy, chciałem go usunąć.

Chcę uruchomić ten skrypt raz w miesiącu. Czy to możliwe, aby usunąć stary?

Daj mi znać, jeśli nie jest to wystarczająco jasne.


11
Dlaczego nie po prostu użyć logrotate?
— Michael Hampton

@ scottmarriott tak, pan Hampton ma rację, opisana przez ciebie funkcjonalność to właściwie dokładnie to, co robi Logrotate.
— Bratchley

Tak, właśnie rzuciłem okiem na logrotate, który ma sens na zdrowie
— Scott Marriott

@MichaelHampton powinieneś udzielić odpowiedzi.
— evilsoup

Odpowiedzi:


20

Możesz zacząć od tego:

find /your/file -mtime +182 -exec rm {} +

Gdzie +182jest liczba dni.


Dzięki za to, mogłem się z tym pobawić, ale może Logrotate może być najlepszą opcją
— Scott Marriott

@jordanm jakieś pomysły, dlaczego to nie zadziałało?
— Scott Marriott

ApplicationServer / logs / TestClone01 $ ls -ltr total 3320 1048458 13 grudnia 09:46 SystemOut_12.12.13_09.46.29.log 28 maja 12:44 SystemOut.log.2013-05-28-12: 44: 52 71 30 maja 08: 57 SystemOut.log.2013-05-30-08: 57: 22 48432 30 maja 09:16 SystemOut.log no_env): / usr / websphere6 / was61TE_LV2 / ApplicationServer / logs / TestClone01 $ find SystemOut.log -mtime +1 - exec rm {} + find: 0652-083 Nie można wykonać :: Plik lub katalog w nazwie ścieżki nie istnieje.
— Scott Marriott

Zmieniłem liczbę dni na 1
— Scott Marriott

@scottmarriott Nie wszystkie wersje findwsparcia +/-dla -mtime. Jaki masz system operacyjny i wersję find?
— jordanm

2

Możesz po prostu użyć logrotate. Jest już dostępny w większości systemów Linux, a wiele pakietów ma już wstępnie skonfigurowane skrypty logrotate lub możesz je ulepszyć lub napisać własny.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.