1. Forum używa plików Cookies. Dowiedz się więcej o celu ich używania i możliwości zmiany ustawień Cookies w przeglądarce. Czytaj więcej...

[PHP] Najbardziej zajęte foldery

Dyskusja w 'Kursy i poradniki - twórczość własna' rozpoczęta przez użytkownika casar, 20 Listopad 2015.

  1. casar

    casar Profesjonalista

    Wiadomości:
    507
    Docenione treści:
    135
    Poniżej przedstawiam kod prostego skryptu PHP, który pokaże objętość najbardziej zajętych katalogów na serwerze. Plik .PHP należy umieścić w głównym katalogu/public_html serwera (np. przez webFTP) i wykonać pod adresem http://nazwa_serwera.home.pl/nazwa_pliku.php

    Wprowadzony właśnie webFTP pozwala na zliczenie objętości, ale po zaznaczeniu kilku folderów podaje ich łączną zajętość.

    PHP:
    <?

    $output2 shell_exec('du -m |sort -g -r |awk "NR<=10"');
    echo 
    "<pre>$output2</pre>";

    ?>
    Kod może się przydać np. osobom korzystającym z usług linii ekonomicznej, gdzie nie ma dostępu SSH.

    Garść dodatkowych informacji:
    - wynik jest posortowany od największego folderu
    - zajętość podawana jest w MB
    - pokazywane są podkatalogi oraz katalog główny (kropka)
    - liczbę katalogów można zmieniać - fragment "NR<=10"
    - im więcej danych na serwerze, tym może się dłużej wykonywać
    - polecenie du -m |sort -g -r |awk "NR<=10" działa również przez SSH
    - przykładowy wynik:
    Kod:
    60    ./autoinstalator/wordpressplus
    60    ./autoinstalator
    60    .
    40    ./autoinstalator/wordpressplus/wp-content
    37    ./autoinstalator/wordpressplus/wp-content/languages
    13    ./autoinstalator/wordpressplus/wp-includes
    8    ./autoinstalator/wordpressplus/wp-admin
    5    ./autoinstalator/wordpressplus/wp-includes/js
    3    ./autoinstalator/wordpressplus/wp-content/themes
    3    ./autoinstalator/wordpressplus/wp-admin/includes
    3    ./autoinstalator/wordpressplus/wp-admin/css
    2    ./autoinstalator/wordpressplus/wp-includes/js/tinymce
    2    ./autoinstalator/wordpressplus/wp-content/themes/twentyfourteen
    2    ./autoinstalator/wordpressplus/wp-content/languages/themes
    2    ./autoinstalator/wordpressplus/wp-content/languages/plugins
    2    ./autoinstalator/wordpressplus/wp-admin/js
    1    ./tmp
    1    ./autoinstalator/wordpressplus/wp-includes/theme-compat
    1    ./autoinstalator/wordpressplus/wp-includes/pomo
    1    ./autoinstalator/wordpressplus/wp-includes/js/tinymce/utils
    Pozdrawiam.
     
    Ostatnia modyfikacja: 20 Listopad 2015
    Mariusz lubi to.
  2. casar

    casar Profesjonalista

    Wiadomości:
    507
    Docenione treści:
    135
    Po lekkiej zmianie skryptu można uzyskać tylko katalogi z głównego poziomu:

    PHP:
    <?

    $output2 shell_exec(' du -m --max-depth=1 |sort -g -r |awk "NR<=10"');
    echo 
    "<pre>$output2</pre>";

    ?>
    Efekt:
    Kod:
    60    ./autoinstalator
    60    .
    1    ./tmp
     
    Mariusz lubi to.

Poleć forum znajomym