Šiame straipsnyje pateiksime komandas/įrankius, kurios padėtų nustatyti serveryje daugiausiai vietos užimančius bei daugiausiai failų talpinančius katalogus. Tai pravartu, kai serveryje dėl neaiškių priežasčių pastebimas disko vietos stygius. Arba pačios disko vietos stygiaus nėra, tačiau matoma, kad yra pasiekta Inode limito riba. Tuomet svarbu yra išsiaiškinti, kurie katalogai labiausiai išnaudoja reikalingus resursus.
Aktualios SSH komandos
Norėdami peržiūrėti katalogus pagal failų kiekį mažėjančia tvarka, tikrinamame kataloge ir subkataloguose, komanda:
find <katalogas> -type d | while read line ; do echo "$( find "$line" -maxdepth 1 | wc -l) $line" ; done | sort -rn | less
Pvz.: find /home/ -type d | while read line ; do echo "$( find "$line" -maxdepth 1 | wc -l) $line" ; done | sort -rn | less
arba:
find /<kelias_iki_katalogo> -type f | awk '{$NF="";a[$0]++}END{for (i in a) print a[i],i }' FS=/ OFS=/ | sort -rn | less
Pvz.: find /home -type f | awk '{$NF="";a[$0]++}END{for (i in a) print a[i],i }' FS=/ OFS=/ | sort -rn | less
Peržiūrėti katalogus pagal failų kiekį mažėjančia tvarka, tikrinamame kataloge:
find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -rn
Peržiūrėti Inode kiekį sistemoje:
df -i
Rezultato pvz.:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/simfs 1000000 93618 906382 10% /
none 524288 154 524134 1% /dev
Peržiūrėti rekursyviai bendrą failų kiekį pasirinktame kataloge:
find . -type f | wc -l
Peržiūrėti kataloge daugiausiai vietos užimantį failus ar katalogus, tikrinamame kataloge:
du -h -s <katalogas>* | sort -nr
Pvz.: du -h -s /* | sort -nr
Peržiūrėti kataloge daugiausiai vietos užimantį failus ar katalogus, tikrinamame kataloge ir subkataloguose (surikiuoja pagal žmogui lengvai suprantamus dydžius):
du -k <katalogas>* | sort -nr | cut -f2 | xargs -d '\n' du -sh | less
Pvz.: du -k /* | sort -nr | cut -f2 | xargs -d '\n' du -sh | less
Lengvesnei peržiūrai naudojami įrankiai
ncdu įrankis
1. Įdiegiame įrankį:
yum install ncdu -y
Jei gausite klaidos pranešimą, kad toks paketas neegzistuoja, tuomet aktyvuokite EPEL repozitoriją su komanda:
yum install epel-release -y
Ją išjungti galėsite faile /etc/yum.repos.d/epel.repo vietoj enabled=1 nurodant enabled=0
2. Įrankio paleidimas:
ncdu
Visą skripto naudojimo sintaksę rasime įrankio dokumentaciniame puslapyje:
man ncdu
Įrankio pateikiama vartotojo sąsaja:
gt5 bash programino kodo skriptas
1. Atsisiunčiame gt5 archyvą:
wget http://downloads.sourceforge.net/project/gt5/gt5/gt5%2C%20version%201.4.0/gt5-1.4.0.tar.gz
2. Išskleidžiame archyvą:
tar xvf gt5-1.4.0.tar.gz
3. Pereiname į išarchyvuotą katalogą:
cd gt5-1.4.0/
4. Naudojimas:
bash gt5 <tikrinama_pagrindinė_direktorija>
Pvz.: bash gt5 /
Visą skripto naudojimo sintaksę rasime ./README faile.
Įrankio pateikiama vartotojo sąsaja:


