Nowe posty

Autor Wątek: Jak skasować pliki starsze niż... nie kasując katalogu.  (Przeczytany 3019 razy)

tomek19791

  • Gość
Witam mam taki problem,

mam takie drzewo
                    /dane/archiwum/1/
                    /dane/archiwum/2/
                    /dane/archiwum/3/
w katalogach :

1 , 2 , 3 znajdują się podkatalogi z plikami.

Potrzebuję skasować pliki łącznie z katalogami które są starsze niż 30 min.

Pytanie moje jest następujące jak zrobić, żeby skrypt nie kasował mi katalogu 1,2,3 .

mam coś takiego:

find /dane/archiwum/1/ -type f -name \\* -mmin +30 -print -exec rm -f {} \\;
find /dane/archiwum/1/ -type d -name \\* -mmin +30 -print -exec rmdir {} \\;

zależy mi na tym żeby z katalogu 1 zostały skasowane wszystkie pliki i katalogi starsze niż 30 min.

Problem polega na tym , że skrypt ten kasuje również folder 1 jeśli jest on pusty.

Krzysiek1990

  • Gość
Jak skasować pliki starsze niż... nie kasując katalogu.
« Odpowiedź #1 dnia: 2009-10-10, 19:50:40 »
Może poprostu utwórz go ponownie. Skoro jest pusty to nic się nie stanie jeśli zostanie usunięty, a potem stworzony od nowa.

arctgx

  • Gość
Jak skasować pliki starsze niż... nie kasując katalogu.
« Odpowiedź #2 dnia: 2009-10-12, 16:14:14 »
Find posiada parametr -mindepth. Ustawiasz go na jedynkę i katalog zadany w parametrze znika z wyników szukania (bo ma głebokość równą 0).

Warto czytać manuale (man find).