Jak usunąć dużą ilość plików? – mały skrypt

Dziś po raz kolejny natrafiłem na jakiś błąd escpartners (nie wiem czy to ja coś źle zainstalowałem), czy coś jest ze skryptem nie tak – nie mam czasu w tym momencie patrzeć.

W każdym razie baza plików w katalogu cache urosła mi w dwóch sklepach na maksa (przekroczyła limit serwera), no i co gorsza na tyle że ściąganie jej w total commanderze mijało się z celem i nie było możliwe… No chyba żeby siedzieć cały dzień. Bo po uruchomieniu kasowania katalogu, niby się kasowało, ale nie dość że trwało to dosyć długo to kasowała się określona ilość (zdaje się 19999 – pewnie to zależy od ustawień serwera ile plików mi pokazuje). A plików faktycznie nagromadziło się tam znacznie więcej.

W takim wypadku dobrze jest wykorzystać funkcje php, którą znalazłem tutaj, a wykorzystałem tworząc i uruchamiając specjalny plik z taką treścią.


<?php
function delete_directory($dirname) {
if (is_dir($dirname))
$dir_handle = opendir($dirname);
if (!$dir_handle)
return false;
while($file = readdir($dir_handle)) {
if ($file != "." && $file != "..") {
if (!is_dir($dirname."/".$file))
unlink($dirname."/".$file);
else
delete_directory($dirname.'/'.$file);
}
}
closedir($dir_handle);
return true;
}

delete_directory('cache');

?>

This entry was posted on piątek, 11 grudnia, 2009 at 12:16 pm and is filed under Php. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

12 komentarzy to “Jak usunąć dużą ilość plików? – mały skrypt”

  1. crackcomm pisze:

    Usuń “delete_directory(‘cache’);” ze skryptu bo ktoś nie zrozumie i mu cache wywali.

  2. To jak strzelanie do muchy z armaty 🙂

    nie lepiej cos w stylu:

    !#/bin/sh

    cd katalog/jakis
    rm -v *

    zapisac to jako .cgi, nadac uprawnienia i voila 🙂

  3. Anna pisze:

    Nie odpowiedziałeś na mojego maila!

  4. Marcin pisze:

    A jak ktoś często będzie chciał używać jakichś linuksowych komend na hostingu, to polecam zainstalować
    http://phpshell.sourceforge.net/

    Nie działa na wszystkich serwerach, niemniej warto sprawdzić.

  5. “To jak strzelanie do muchy z armaty 🙂

    nie lepiej cos w stylu:

    !#/bin/sh

    cd katalog/jakis
    rm -v *

    zapisac to jako .cgi, nadac uprawnienia i voila :)”

    I git

    Pozdrawiam

  6. Bremes pisze:

    Coś widzę, że blog dawno nie jest aktualizowany.

  7. precelik pisze:

    Zdarza się niestety u mnie w głowie robić przerwy w życiorysie

  8. precelik pisze:

    Lechu, Noclegi – dzięki za kody. Domyślam się że to jak strzelanie muchy z armaty. I jak komendy z linuxa znałem te podstawowe, tak na tym serwerze nie działały. A o tym cgi… wiem tyle co i ta mucha 🙂

    Nie wiedziałem ze można to tak uruchomić 🙂 – dzięki. pewnie sie przyda w przyszłości.

    Anno, jezeli mozna prosić o powtórke bo pewnie gdzies mi umknął.

  9. Wielkie dzięki za ten kod zaoszczędziłeś mi kilkunastu minut pisani 😛

  10. Witam, a ja mam trochę pokrewny problem. Na serwerze utworzył mi się katalog z zagnieżdżonymi w “nieksończoność” podkatalogami. Nie pamietam jak to się stało, ale dziś ani TC, ani FZ nie chce tego usunąć. Zagnieżdżenia schodzą bardzo głęboko. W sumie nawet nie wiem jak bardzo, ale skasować za pomocą klientów FTP się nie da 🙁
    Ma ktoś może jakiś pomysł na usunięcie tego katalogu?

  11. Botox pisze:

    naszło mi na myśl coś takiego- nie ma może skryptu który spakował by pliki na hostingu, z przeniesieniem takiej 1 paczki nie było by wtedy problemu, chociaż z jakiś nieznanych mi powodów może to nie być możliwe

  12. precelik pisze:

    W narzędizach hostingowytch bardzo często jest narzędzie do backupów

Leave a Reply