#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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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é.
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