Strona 1 z 1

polecenie kasowania starych plików

: 2014-08-05, 08:10
autor: cent4
Mam pytanie jak skasować za pomocą jednego polecenia z danego dysku wszystkich plików we wszystkich podfolderach (ale żeby oczywiście nie skasowało folderów), które są starsze niż powiedzmy 2014-05-01?
Chodzi o to, że mam dysk do dodatkowej kopii, w którym co jakiś czas muszę ręcznie kasować starsze pliki, a jak wiedziałbym jak to zrobić za pomocą polecenia ułatwiłoby mi to znacznie pracę...

Re: polecenie kasowania starych plików

: 2014-08-05, 09:36
autor: julekjulek
Zainteresuj się poleceniem find, które ma bardzo dużo opcji.

Być może komenda

Kod: Zaznacz cały

find KATALOG -type f -mtime +96 -exec rm -f {} \;
spełni Twoje zapotrzebowanie.
KATALOG to oczywiście katalog w którym bedą wyszukiwane pliki.
parametr -mtime +96 określa ile dni od dnia dzisiejszego mają być starsze pliki czyli dla daty 2014-05-01 będzie to 96 dni.

Pozdrawiam,
julek

Re: polecenie kasowania starych plików

: 2014-08-05, 10:23
autor: cent4
julekjulek bardzo mi pomogłeś - dziękuję bardzo wszystko pięknie usunięte.
Zaoszczędzone ok 30 min pracy :-)

Re: polecenie kasowania starych plików

: 2014-08-05, 11:20
autor: mina86

Kod: Zaznacz cały

find KATALOG -type f -mtime +96 -delete
a nawet

Kod: Zaznacz cały

find KATALOG -type f -mtime +96 -exec rm -f {} +
jest szybsze.

Re: polecenie kasowania starych plików

: 2014-08-06, 12:42
autor: webster
co daje plus na końcu ?

Re: polecenie kasowania starych plików

: 2014-08-06, 18:56
autor: mina86

Kod: Zaznacz cały

$ mkdir /tmp/tmp; cd /tmp/tmp; touch a b
$ find -exec echo {} \;
.
./b
./a
$ find -exec echo {} +
. ./b ./a

Re: polecenie kasowania starych plików

: 2014-08-07, 12:15
autor: webster
Świetne, Thx :)