Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Comentariile sunt închise pentru Comanda df in UNIX/Linux

Avand in vedere ca majoritatea operatiilor pe un server UNIX/Linux sunt facute din consola comanda df e una dintre cele mai folosite. Comanda df returneaza informatii legate de partitiile montate – marimea unei partitii, spatiul folosit, spatiul disponibil, punctul de montare si numarul de inod-uri libere.

In mod normal df returneaza date legate de spatiul disponibil masurat in blocuri de 512 bytes, conform SUS, dar optional poate returna informatii legate de spatiu in blocuri de 1KB, 1MB, 1GB etc. Pentru a primi valorile in formatul care il dorim putem folosi unul din parametri: -k pentru blocuri de 1KB, -m pentru blocuri de 1MB, -g pentru blocuri de 1GB sau -h pentru ca marimea blocurilor sa fie setata pe fiecare partitie in functie de valoarea returnata pentru a fi usor de citit (ex. 52MB, 2GB, 64KB). Un exemplu de utilizare impreuna cu parametrul -h ar fi urmatorul:

[root@freebsd ~]# df -h
Filesystem                           Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a                          4.8G    305M    4.2G     7%    /
devfs                                1.0K    1.0K      0B   100%    /dev
/dev/ad0s1g                          9.0G    7.1G    1.2G    86%    /home
/dev/ad0s1f                          1.9G    260K    1.8G     0%    /tmp
/dev/ad0s1d                          9.7G    1.8G    7.1G    20%    /usr
/dev/ad0s1e                          9.7G    3.6G    5.3G    40%    /var
procfs                               4.0K    4.0K      0B   100%    /proc
[root@freebsd ~]#

Dupa cum spuneam, pe langa informatiile legate de spatiu comanda df ne poate returna si informatii legate de inodurile disponibile. Inodurile sunt importante deoarece fiecare fisier ocupa cate unul. Se poate intampla, nu de putine ori, sa avem intr-o partitie (ex /tmp sau /var) foarte multe fisiere goale si cu toate ca exista mult spatiu disponibil sa nu putem crea fisiere noi – asta pentru ca toate inodurile disponibile pentru o anumita partitie sunt consumate. Pentru a citi informatiile legate de inoduri va trebui sa folosim si parametrul -i (sugestiv), de exemplu:

[root@freebsd ~]# df -hi
Filesystem                           Size    Used   Avail Capacity iused   ifree %iused  Mounted on
/dev/ad0s1a                          4.8G    305M    4.2G     7%    9409  650045    1%   /
devfs                                1.0K    1.0K      0B   100%       0       0  100%   /dev
/dev/ad0s1g                          9.0G    7.1G    1.2G    86%  104082 1120620    8%   /home
/dev/ad0s1f                          1.9G    270K    1.8G     0%     994  281628    0%   /tmp
/dev/ad0s1d                          9.7G    1.8G    7.1G    20%  224762 1094148   17%   /usr
/dev/ad0s1e                          9.7G    3.6G    5.3G    40%   22978 1295932    2%   /var
procfs                               4.0K    4.0K      0B   100%       1       0  100%   /proc
[root@freebsd ~]#

In mod normal df foloseste apelul de sistem statfs() pentru preluarea datelor, apel care nu are un echivalent in toate limbajele de scripting. Avand in vedere ca df nu este o comanda interactiva, poate fi foarte usor folosita in scripturi unde impreuna cu grep sau awk putem crea statistici referitoare la spatiul consumat de fiecare partitie in parte.

Un exemplu de utilizare a comenzii df pentru a crea statistici ar fi urmatorul set de comenzi care ne ofera detalii legate de capacitatea partitiilor, oferindu-ne pe primele randuri partitiile care sunt cele mai pline:

[root@freebsd ~]# df -h | sort -rnk 5 | awk '/%/{ print "Partitia " $6 "\t: " $5 " plina!" }'
Partitia /proc  : 100% plina!
Partitia /dev   : 100% plina!
Partitia /home  : 86% plina!
Partitia /var   : 40% plina!
Partitia /usr   : 20% plina!
Partitia /      : 7% plina!
Partitia /tmp   : 0% plina!
[root@freebsd ~]#

Bineinteles, posibilitatile de utilizare in cadrul scripturilor sunt multe. Pentru mai multe detalii legate de utilizarea comenzii df, e recomandat sa studiati pagina de manual df conform standardului SUS si pagina de manual df conform GNU.

Linux

Comments are closed.