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.