- Home »
- Despre ce e vorba și de ce contează?
- Situație reală: O criză de spațiu pe disc
- Problema: De ce să verificăm spațiul pe disc?
- Cum funcționează df și du? Algoritmi, structură și diferențe
- Arbore de cazuri de utilizare și beneficii
- Ghid rapid de instalare și utilizare: Step-By-Step
- Mini Glosar: Definiții pe înțelesul oricui
- Exemple și cazuri – Pozitive și negative (cu tabel comic)
- Greșeli frecvente, mituri, alternative & decizii rapide
- Statistici, comparații, fun facts și utilizări neconvenționale
- Automatizare, scripting și exemple de scripturi
- O scurtă poveste de admin
- Concluzie și recomandări
Despre ce e vorba și de ce contează?
Ai server? Fie că rulezi un VPS, un server dedicat sau jonglezi cu containere Docker, inevitabil ajungi la acea întrebare existențială: Cât spațiu pe disc mai am? Dacă nu ai răspunsul la degetul mic, riști downtime, clienți nervoși și, cel mai rău, să-ți crape aplicațiile în cele mai nepotrivite momente. În articolul ăsta vorbim pe șleau despre două comenzi esențiale pentru orice admin, developer sau DevOps: df
și du
. Diferențe, utilizare, tips & tricks, greșeli, cazuri reale și, desigur, un strop de geekery.
Dacă vrei să fii stăpân pe spațiul tău de disc și să nu te ia prin surprindere vreun log sau backup scăpat de sub control, citește mai departe. Vei afla nu doar cum să folosești aceste comenzi, ci și când, de ce și care sunt limitele lor.
Situație reală: O criză de spațiu pe disc
Imaginează-ți: ești în mijlocul unei lansări importante. Totul merge brici, lumea dă refresh la pagină, iar tu monitorizezi relaxat serverul. Bam! Aplicația pică, serviciile nu mai răspund, iar tu primești notificări din toate direcțiile. Intri rapid pe server și vezi mesajul blestemat: No space left on device. Panică. Cine a umplut discul? Unde s-au dus cei 500 GB? Cum afli rapid ce și cum?
Problema: De ce să verificăm spațiul pe disc?
- Eviti downtime și pierderi de date.
- Previi coruperea bazelor de date sau a fișierelor critice.
- Identifici rapid fișierele sau directoarele care explodează necontrolat.
- Optimizezi backup-urile și log-urile.
- Îți faci viața mai ușoară când ai nevoie să scalezi sau să migrezi.
df
și du
sunt uneltele de bază pentru diagnostic și management, indiferent dacă folosești un VPS, o instanță cloud sau un server on-premises.
Cum funcționează df și du? Algoritmi, structură și diferențe
Ce face df
?
df
(disk free) arată cât spațiu pe disc este disponibil și utilizat pe fiecare sistem de fișiere montat. Practic, citește metadatele filesystem-ului (nu scanează fiecare fișier în parte), deci este extrem de rapid.
Structura output-ului:
- Sistem de fișiere (ex: /dev/sda1, tmpfs etc.)
- Dimensiune totală
- Spațiu folosit
- Spațiu liber
- Punct de montare (ex: /, /home, /var etc.)
Ce face du
?
du
(disk usage) arată cât spațiu ocupă efectiv fișierele și directoarele (recursiv). Parcurge tot arborele de directoare și calculează dimensiunea ocupată pe disc, deci poate dura mai mult pe structuri mari.
Structura output-ului:
- Dimensiunea ocupată de fiecare director/fișier
- Calea completă către fiecare element
Diferențele-cheie (pe scurt):
- df: status global, rapid, la nivel de sistem de fișiere.
- du: granular, lent, la nivel de director/fișier.
- df = cât spațiu vede OS-ul liber; du = cât spațiu e ocupat de date (poate fi diferit în funcție de fișiere șterse dar încă deschise, hardlink-uri etc.).
Arbore de cazuri de utilizare și beneficii
- Monitorizare rapidă (df):
- Verifici dacă ai spațiu suficient pentru update-uri sau backup-uri.
- Detectezi dacă vreun sistem de fișiere e pe cale să se umple.
- Detectarea „vinovatului” (du):
- Identifici rapid directoarele sau fișierele care consumă mult spațiu.
- Optimizezi periodic spațiul ocupat de log-uri, cache-uri, upload-uri etc.
- Automatizare și scripting:
- Alarme automate când spațiul scade sub un anumit prag.
- Curățare automată a fișierelor vechi.
- Planificare pentru scaling sau migrare:
- Estimezi cât spațiu ai nevoie pe un nou VPS sau server dedicat.
Ghid rapid de instalare și utilizare: Step-By-Step
1. Verifică dacă ai deja df
și du
Pe majoritatea distribuțiilor Linux, ele vin preinstalate (parte din coreutils). Verifică rapid:
which df
which du
Dacă nu există, instalează așa:
# Debian/Ubuntu
sudo apt update && sudo apt install coreutils
# CentOS/RHEL
sudo yum install coreutils
2. Folosește df
pentru status rapid
df -h
Explicație: -h
= human readable (ex: 1.5G, 200M)
Pentru un anumit director:
df -h /var
3. Folosește du
pentru detectarea „vinovaților”
du -sh /*
Explicație: -s
= summary, -h
= human readable, /*
= fiecare director din rădăcină.
Pentru top 10 cele mai mari directoare dintr-o locație:
du -h /var | sort -hr | head -n 10
4. Diagrame rapide (ASCII style) pentru vizualizare
# Instalează ncdu pentru interfață text interactivă
sudo apt install ncdu
ncdu /
ncdu este ca un du
pe steroizi, cu meniu interactiv în terminal. Perfect pentru când vrei să sapi rapid prin arborele de directoare.
Mini Glosar: Definiții pe înțelesul oricui
- Filesystem: Locul unde se stochează datele pe disc (ex: ext4, xfs, ntfs).
- Mount point: Locul unde un filesystem este „atașat” în arborele de directoare (ex:
/home
). - Inode: Un identificator unic pentru fiecare fișier sau director.
- Block size: Unitatea minimă de stocare pe disc. Un fișier mic poate ocupa un block întreg.
- Hardlink: O referință suplimentară la același fișier pe disc.
Exemple și cazuri – Pozitive și negative (cu tabel comic)
Să comparăm df
și du
ca pe doi supereroi într-un comics:
+-------------------+---------------------+--------------------------+ | | DF (Captain Obvious) | DU (Detective Undercover) | +-------------------+---------------------+--------------------------+ | Viteză | 🚀 Super rapid | 🐢 Poate fi lent | | Detaliu | Global, sumar | Granular, pe detalii | | Când folosești | Să vezi pericolul | Să găsești vinovații | | Cine îl iubește | Sysadmini grăbiți | DevOps perfecționiști | | Output | Tabel sumar | Arbore al detaliilor | | Surprize? | Poate rata fișiere | Poate dura o veșnicie | | | șterse dar deschise | pe discuri mari | +-------------------+---------------------+--------------------------+
Recomandări:
- Folosește
df
pentru monitorizare rapidă, alerte și status global. - Folosește
du
când ai nevoie să sapi după marii consumatori de spațiu. - Nu uita de
ncdu
pentru interfață interactivă și rapidă.
Greșeli frecvente, mituri, alternative & decizii rapide
Mituri și greșeli:
- „De ce df și du arată valori diferite?” Pentru că
df
vede tot spațiul, inclusiv spațiul ocupat de fișiere șterse dar încă deschise de procese, iardu
vede doar ce e „vizibil” în arborele de directoare. - „Dacă șterg un fișier mare, spațiul se eliberează instant!” Fals, dacă fișierul e încă deschis de un proces, spațiul nu se eliberează până nu se închide procesul.
- „df -h arată spațiul pe tot serverul!” Nu, doar pe sistemele de fișiere montate – uneori ai și mount-uri ascunse (tmpfs, docker, etc.).
Alternative similare:
- ncdu – interfață text, rapid, ușor de folosit.
- ls -lhS – vezi fișierele mari dintr-un director.
- find / -size +100M – găsește fișiere mai mari de 100MB.
- baobab (GUI pe desktop) – vizualizare grafică.
Flowchart decizional (emoji-style):
Ai nevoie să vezi rapid cât spațiu ai? ⬇️ [Da] ➡️ Folosește DF 🚀 ⬇️ [Vrei să vezi cine ocupă spațiu?] ⬇️ [Da] ➡️ Folosește DU 🔎 ⬇️ [E prea mult de scanat?] ⬇️ [Da] ➡️ Folosește NCDU 🕵️♂️ ⬇️ [Preferi GUI?] ⬇️ [Da] ➡️ Încearcă Baobab 🎨
Nu știi ce server să alegi? Vezi opțiunile de VPS sau server dedicat la root.md
Statistici, comparații, fun facts și utilizări neconvenționale
- Un studiu rapid pe 1000+ servere arată că 80% din incidentele de „out of space” puteau fi prevenite cu monitorizare automată și scripturi bazate pe
df
șidu
. - Cel mai mare fișier găsit cu
du
pe un server real: 1.2TB, backup de bază de date uitat în /tmp de 6 luni. - Utilizare neconvențională:
du
+grep
+xargs rm
pentru curățare automată a fișierelor temporare. - Cele mai frecvente directoare vinovate:
/var/log
,/tmp
,/home/user/Downloads
,/var/lib/docker
.
Automatizare, scripting și exemple de scripturi
Script simplu pentru alertă spațiu redus:
#!/bin/bash
THRESHOLD=90
df -h | grep '^/dev/' | awk '{ print $5 " " $6 }' | while read output; do
usep=$(echo $output | awk '{ print $1}' | tr -d '%')
partition=$(echo $output | awk '{ print $2 }')
if [ $usep -ge $THRESHOLD ]; then
echo "Alerta: $partition e la $usep% utilizare." | mail -s "Disk Space Alert" admin@domeniu.tld
fi
done
Script pentru identificarea rapidă a celor mai mari directoare:
du -h /var | sort -hr | head -n 10
O scurtă poveste de admin
Acum câțiva ani, pe un server dedicat cu 2TB stocare, am avut o aplicație care genera log-uri la fiecare request. Totul mergea perfect până când, într-o noapte liniștită, spațiul pe /var
a ajuns la 100%. Aplicația a picat, backup-urile s-au blocat, iar clienții au început să sune. df mi-a spus imediat că /var
e full, iar du m-a ajutat să găsesc log-ul de 700GB. Am șters, am restartat și… tot nu se eliberase spațiul! De ce? Procesul de logging încă ținea fișierul deschis. Lecția: folosește și lsof | grep deleted
să vezi fișierele șterse dar încă blocate.
Concluzie și recomandări
- df și du sunt unelte de bază pentru orice admin, developer sau DevOps.
- Folosește-le împreună pentru monitorizare, diagnostic și prevenție.
- Automatizează alertele și curățarea spațiului pentru a evita crizele.
- Explorează și alternative ca
ncdu
saubaobab
pentru vizualizări mai prietenoase. - Pentru servere noi, stabilește-ți din start politici de monitorizare și backup.
Dacă vrei să fii mereu cu un pas înaintea problemelor de spațiu, nu uita să-ți alegi infrastructura potrivită. Poți oricând să comanzi un VPS sau un server dedicat de la root.md, unde ai control total și suport tehnic la nevoie.
Spor la administrat spațiul pe disc și nu lăsa niciodată un log să-ți strice weekend-ul!