Skrypt do czyszczenia cache'u, bardzo dużo plików.

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
sibul
Wytworny Kaczor
Wytworny Kaczor
Posty: 318
Rejestracja: 16 paź 2007, 22:29
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Skrypt do czyszczenia cache'u, bardzo dużo plików.

Post autor: sibul »

Witam, nie mam pomysłu na napisanie skryptu bashowego lub byle jakiego, którego działaniem jest skasowanie bardzo dużej ilości plików z danego folderu.
polecenie

Kod: Zaznacz cały

rm -f /sciezka/folder/cache_*
Niestety nie czyści plików cache_* bo jest ich za duża ilość.
Mam pomysł żeby jakoś zliczyć pliki cache_* i usuwać je partiami ale nie mam pojęcia jak to zrealizować. Pozdrawiam
OS X 10.8.3
Hagal
Sędziwy Jeż
Sędziwy Jeż
Posty: 41
Rejestracja: 11 sty 2009, 01:35
Płeć: Mężczyzna
Środowisko graficzne: Brak

Odp: Skrypt do czyszczenia cache'u, bardzo dużo plików.

Post autor: Hagal »

Kod: Zaznacz cały

find /sciezka/folder -type f -name cache_* -exec rm {} \;
Nie toleruję zmuszania do reklam...
Awatar użytkownika
хur
Sędziwy Jeż
Sędziwy Jeż
Posty: 79
Rejestracja: 15 sty 2008, 23:40
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne

Odp: Skrypt do czyszczenia cache'u, bardzo dużo plików.

Post autor: хur »

pytanie czy OP życzy sobie żeby mu sprzątało również podkatalogi (jeśli takowe są).

Jeśli nie to miło by było dodać opcję -maxdepth 1.

ponieważ cache_* nie jest w cudzysłowach to zostanie
wpierw rozwinięte przez shell (no chyba że sobie ktoś
globbing wyłączy) i wynik tegoż rozwinięcia zostanie zapodany
do find. Tak więc imo powinno być 'cache_*' a nie cache_*.

Afaik jeśli to polecenie zakończymy plusem (+) nie średnikiem ( ; )
to rm będzie dostawało wiele wyników, ale tyle ile jest w stanie
przyjąć więc [...] rm '{}' + może się okazać szybsze niż [...] rm '{}' \;

tzn proponuję coś takiego

Kod: Zaznacz cały

find  /sciezka/folder -maxdepth 1 -type f -name 'cache_*' -exec rm '{}' +
Awatar użytkownika
sibul
Wytworny Kaczor
Wytworny Kaczor
Posty: 318
Rejestracja: 16 paź 2007, 22:29
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Odp: Skrypt do czyszczenia cache'u, bardzo dużo plików.

Post autor: sibul »

Zrobiłem to trochę innaczej :)
Poprostu częściej czyszcze cache, wpływa to nawet lepiej na działanie bo nie zabija się nic cachem.
Ustawiłem do CRON'a

Kod: Zaznacz cały

1 */4 * * * /home/cache
A w nim skrypt bash z poleceniem

Kod: Zaznacz cały

rm -f /sciezka/cache/cache_*
I działa :)
OS X 10.8.3
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 18 gości