Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/10/2012, à 00:47

hydro_90

taille du disque et espace utilisé.

Bonjour,

Je cherche à faire une commande à base de df et de awk permettant d'obtenir le total de l'espace disque utilisé par une machine.

en gros il faudrait récupérer les valeurs dans les colonnes Taille Util. Dispo Uti% et les additionner.


Sys. fich.     Taille Util. Dispo Uti% Monté sur
/dev/sda4         12G  4,0G  6,7G  38% /
udev             1,8G  4,0K  1,8G   1% /dev
tmpfs            736M 1004K  735M   1% /run
none             5,0M     0  5,0M   0% /run/lock
none             1,8G  156K  1,8G   1% /run/shm
/dev/sda5         30G  2,7G   26G  10% /home

Quelqu'un à une idée?

Le but du jeu c'est juste de connaître la taille et l'utilisation du disque, tout volume confondu, donc si quelqu'un à un moyen plus simple...

Merci par avance.

Hors ligne

#2 Le 23/10/2012, à 01:50

nesthib

Re : taille du disque et espace utilisé.

df | awk '/^\/dev\//{taille+=$2;util+=$3}END{printf "taille totale : %s (%.2f Gio)\nutilisation totale : %s (%.2f Gio) soit %.2f%%\n",taille,taille/1024**2,util,util/1024**2,util/taille*100}'

(pour les pourcentages tu ne peux pas les additionner comme ça, ce serait mathématiquement faux.)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 23/10/2012, à 07:15

serged

Re : taille du disque et espace utilisé.

Il ne faut pas éliminer les partitions "techniques" (udev, tmpfs, none...) ?

Et de plus ne pas additionner les ko avec les Mo donc partir d'un :

df -k

par exemple.

Dernière modification par serged (Le 23/10/2012, à 07:17)


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#4 Le 23/10/2012, à 09:11

hydro_90

Re : taille du disque et espace utilisé.

bonjour,

merci, mais j'ai une erreur :

awk: line 1: syntax error at or near *

Hors ligne

#5 Le 23/10/2012, à 09:19

nesthib

Re : taille du disque et espace utilisé.

peux tu donner le retour de :

df

et

awk --version

@serged : ma solution utilise les valeurs en octet (puis fait une conversion) et élimine les partitions virtuelles wink


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 23/10/2012, à 09:41

hydro_90

Re : taille du disque et espace utilisé.

en fait le df je vais le faire sur un tas de serveur différent sur ma machine de test ça donne :

Sys. fich.     1K-blocks    Util. Disponible Uti% Monté sur
/dev/sda5      467951152 89935380  354245148  21% /
udev             4128036        4    4128032   1% /dev
tmpfs            1654128      840    1653288   1% /run
none                5120        0       5120   0% /run/lock
none             4135312      216    4135096   1% /run/shm
/dev/sda3      492151804 33043644  459108160   7% /media/OS

après on peut partir sur un df -h pour éviter la conversion dans awk :

Sys. fich.     Taille Util. Dispo Uti% Monté sur
/dev/sda5        447G   86G  338G  21% /
udev             4,0G  4,0K  4,0G   1% /dev
tmpfs            1,6G  840K  1,6G   1% /run
none             5,0M     0  5,0M   0% /run/lock
none             4,0G  216K  4,0G   1% /run/shm
/dev/sda3        470G   32G  438G   7% /media/OS

awk -W --version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

Hors ligne

#7 Le 24/10/2012, à 00:51

nesthib

Re : taille du disque et espace utilisé.

Alors, 1- utilise « df » et non « df -h » car il est plus facile de travailler avec les donnée brutes que de faire la conversion à l'envers 2- Il semble que tu utilises mawk, qui ne supporte pas la notation « ** », et non GNU awk.

df | mawk '/^\/dev\//{taille+=$2;util+=$3}END{printf "taille totale : %s (%.2f Gio)\nutilisation totale : %s (%.2f Gio) soit %.2f%%\n",taille,taille/1024/1024,util,util/1024/1024,util/taille*100}'

devrait fonctionner


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#8 Le 24/10/2012, à 02:37

Pylades

Re : taille du disque et espace utilisé.

Sinon, je recommande le très bon dfc :

dfc -dst -rootfs,tmpfs,devtmpfs
dfc -dsp /dev/sda

Dernière modification par Πυλάδης (Le 24/10/2012, à 02:37)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#9 Le 25/10/2012, à 13:27

hydro_90

Re : taille du disque et espace utilisé.

nesthib a écrit :

Alors, 1- utilise « df » et non « df -h » car il est plus facile de travailler avec les donnée brutes que de faire la conversion à l'envers 2- Il semble que tu utilises mawk, qui ne supporte pas la notation « ** », et non GNU awk.

df | mawk '/^\/dev\//{taille+=$2;util+=$3}END{printf "taille totale : %s (%.2f Gio)\nutilisation totale : %s (%.2f Gio) soit %.2f%%\n",taille,taille/1024/1024,util,util/1024/1024,util/taille*100}'

devrait fonctionner

ça marche nickel,

merci

Hors ligne