Nie wiem, jak zrobić, aby za pomocą crona (raz dziennie) kasować pliki
starsze niż tydzień z podanego katalogu. Proszę o podpowiedź,
Michał
> Nie wiem, jak zrobić, aby za pomocą crona (raz dziennie) kasować pliki
> starsze niż tydzień z podanego katalogu. Proszę o podpowiedź,
Na przykład zrobić taki skrypt:
find /home/user/data -ctime +7 -exec rm -f {} \;
Przetestować, wgrać gdzieś, wpisać nazwę ze ścieżką do crontaba.
--
Dominik (& kąpany)
"Wszyscy chcą naszego dobra. Nie dajmy go sobie zabrać." (Stanisław Jerzy Lec)
Wyrażam wyłącznie prywatne poglądy, do czego mam prawo zgodnie z Art. 54 Konstytucji RP
> mic49 napisał(a):
>
> > Nie wiem, jak zrobić, aby za pomocą crona (raz dziennie) kasować
> > pliki starsze niż tydzień z podanego katalogu. Proszę o podpowiedź,
>
> Na przykład zrobić taki skrypt:
>
> find /home/user/data -ctime +7 -exec rm -f {} \;
^^^^^^^^^^^^^^
-delete
> Przetestować, wgrać gdzieś, wpisać nazwę ze ścieżką do crontaba.
Jeżeli mają to być pliki starsze niż tydzień, osobiście użyłbym
anacrona.
Anacron, co zresztą wskazuje sama nazwa, jest podobny do crona. O ile
jednak cron zakłada, że pewne zadania muszą być wykonane w pewnym
określonym terminie, o tyle anacron wychodzi z założenia, że pewne
zadania muszą być wykonywane cyklicznie, np. raz w tygodniu. Stąd
cron nadaje się na serwery lub inne maszyny o wysokim średnim uptime,
podczas gdy anacron wspaniale spełnia swoje zadanie na zwykłych
desktopach, co do których nie można przewidzieć kiedy i jak długo będą
włączone.
Niezbyt rozbudowana strona projektu znajduje się pod adresem
http://anacron.sourceforge.net/ .
--
Niżej podpisany, zamieszkały w http://minio.xt.pl ,
Mirosław Zalewski
>> find /home/user/data -ctime +7 -exec rm -f {} \;
> ^^^^^^^^^^^^^^
> -delete
W sensie, że tamto źle, czy alternatywa?
BTW: -delete nie wyłoży się na plikach read-only?
> Jeżeli mają to być pliki starsze niż tydzień, osobiście użyłbym
> anacrona.
Fakt.
> Mirosław Zalewski napisał(a):
>
> >> find /home/user/data -ctime +7 -exec rm -f {} \;
> > ^^^^^^^^^^^^^^
> > -delete
>
> W sensie, że tamto źle, czy alternatywa?
Alternatywa o tyle, że efekt działania będzie identyczny¹. Lepsze o
tyle, że wykorzystuje instrukcje wbudowane w find, bez uruchamiania
innych programów.
Sprawa czysto subiektywna.
¹ — identyczny póki pracuje na plikach. -delete usunie (pod)katalogi
jeżeli będą puste (najpierw usuwa wszystkie w nich pliki pasujące do
wzorca); -exec rm -f {} usunie tylko pliki, pozostawiając katalogi.
> BTW: -delete nie wyłoży się na plikach read-only?
Nie.
> ¹ — identyczny póki pracuje na plikach. -delete usunie (pod)katalogi
> jeżeli będą puste (najpierw usuwa wszystkie w nich pliki pasujące do
> wzorca); -exec rm -f {} usunie tylko pliki, pozostawiając katalogi.
Dzięki za wyjaśnienie.