logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 20-02-2020 11:45:09

David5647
Membre
Distrib. : Debian Sid
Noyau : 5.15.0-2-amd64
(G)UI : i3wm + des bouts de kde
Inscription : 27-08-2017

[Résolu] bash : obtenir valeur bande passante, vnstat?

J'essaie d'obtenir la valeur de bande passante pour l'introduire dans un script,
J'ai trouvé la commande vnstat qui peut me servir, j'en suis là :

vnstat -tr 10 -i wlp7s0


5 packets sampled in 10 seconds
Traffic average for wlp7s0

      rx           388 bit/s             0 packets/s
      tx            97 bit/s             0 packets/s
 

avec un grep :

vnstat -tr 10 -i wlp7s0 | grep "rx"


      rx            388 bit/s             0 packets/s

puis awk :

vnstat -tr 10 -i wlp7s0 | grep "rx" | awk '{print $2}'


388


Seulement, comme l'unité change (bit, kbit, Mbit, Gbit, Tbit...)
Je peux difficilement l'intégrer dans un script

Je n'ai pas trouvé comment forcer vnstat à me renvoyer la valeur dans une unité précise,
Pensez vous que cela soit possible ?
Si non, existe t'il une autre commande pour obtenir ce résultat ?
Reste la possibilité de convertir moi même le résultat, mais ça serait vachement moins pratique et élégant...

Dernière modification par David5647 (21-02-2020 11:59:49)

Hors ligne

#2 20-02-2020 21:12:22

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] bash : obtenir valeur bande passante, vnstat?

Tu pourrais récupérer directement les valeurs de compteurs bruts dans /proc/net/dev.

Il vaut mieux montrer que raconter.

Hors ligne

#3 21-02-2020 11:57:11

David5647
Membre
Distrib. : Debian Sid
Noyau : 5.15.0-2-amd64
(G)UI : i3wm + des bouts de kde
Inscription : 27-08-2017

Re : [Résolu] bash : obtenir valeur bande passante, vnstat?

Yep, on s'en sort comme ça

net_0=$(cat /proc/net/dev | grep wlp7s0 | awk '{print $10}')
sleep 5
net_1=$(cat /proc/net/dev | grep wlp7s0 | awk '{print $10}')

echo $(((net_1-net_0)/5))



merci!

Hors ligne

Pied de page des forums