Bonjour,

J'ai réalisé un script pour connaitre la charge d'une interfase réseau d'une machine :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
function reseau()
{<div style="margin-left:40px">TB1=`cat /proc/net/dev | grep eth: | awk '{print $10}'`
sleep 60
TB2=`cat /proc/net/dev | grep eth: | awk '{print $10}'`
T=$(echo "(($TB2 - $TB1) / 60) / 100" | bc)
echo "Charge réseau :"
echo "Bande passante             : $T Kbits/s"</div>}
Cela fonctionne très bien quand on a qu'une carte réseau.

Pour le cas d'une machine avec plusieurs cartes réseau, j'ai pensé à faire un script avec une boucle for :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
function reseau()
{
    for VAR in TB1=`cat /proc/net/dev | grep eth: | awk '{print $10}'` | sleep 60 | TB2=`cat /proc/net/dev | grep eth: | awk '{print $10}'`
    do    
 
        T=$(echo "(($TB2 - $TB1) / 60) / 100" | bc)
        echo "Charge réseau :"
        echo "Bande passante             : $T Kbits/s"
        echo
        echo
    done
}
Le soucis, sans même encore avoir testé ce code, je sais qu'il ne fonctionnera pas, je l'ai écris pour vous expliquez se que j'aimerai faire (si s'est réalisable). Je ne sais pas comment gérer le for VAR in [commandes] et pouvoir récupérer mes variables TB1 et TB2...

Savez vous comment je peux faire ?

Merci d'avance

Arnaud