Pereiti prie pagrindinio turinio

Disko vietos sąnaudų nustatymui skirtos komandos, įrankiai VPS serveriui

Atnaujinta šią savaitę

Š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:


Ar gavote atsakymą į savo klausimą?