Info16.fr

Le blog de B@rtounet

#Gnu/Linux, Planet Libre

Scripter des commandes à distance : EXPECT

Trim

Cela faisait un moment que je cherchais un outil capable d'envoyer une liste de commande à distance.
La pupart du temps quand on souhaite envoyer des commandes à distance, on est confronté au problème du mot de passe.
En effet il faut entrer le mot de passe et cela empêche de pouvoir scripter à distance...


  A quoi sa sert

Dans le cadre du travail, j'ai dut scripter quelques petites lignes de commandes pour backuper tous mes switchs. ( plus de 80 !!)
Avant de connaitre la fameuse commande, je me tappais les switchs 1 par 1... et du coup moins souvent.

Depuis j'ai découvert la commande EXPECT



Le script:

Après avoir installé le paquet expect sur votre distribution Gnu/Linux préférée vous pouvez commencer.

#!/usr/bin/expect
#expect.sh
set username admin
set password motdepasse
set tftp 192.168.1.10
set switch [lrange $argv 0 0]
set switchname [lrange $argv 1 1]


set timeout 60
spawn ssh $username@$switch
sleep 2
send "$password\n"
sleep 2
send "\031"
sleep 2
send "save config\n"
sleep 12
send "copy config tftp address $tftp filename $switch-$switchname.cc\n"
sleep 10
send "copy running-config tftp address $tftp filename $switch-$switchname.ascii\n"
sleep 2
send "exit\n"
interact


Vous l'aurez compris, le script est ultra simple, il va envoyer des commandes en ssh directement au switch.
expect permet en fait d'enchainer des commandes comme si vous tappiez vous même sur le clavier.

Ce genre de bidouille n'a bien sur pas vraiment d'interêt sur un systeme qui peut directement executer des scripts, par contre cela prend tout son sens sur des systèmes figés comme des switchs, des routeurs, des bornes Wifi etc...
Pour info le send "\031" correspond à un "Ctrl-Y" ( nécessaire pour se connecter sur des switchs Nortell)

Ce genre de script est utilisable dans de nombreuses situations !

Pour finir j'ai créer un autre script qui lance la commande précédente en boucle switch par switch.
#!/bin/bash
#backupswitchs.sh
#SWITCH1 192.168.1.1
#SWITCH2 192.168.1.2
#SWITCH3 192.168.1.3
#SWITCH4 192.168.1.4
#SWITCH5 192.168.1.5

SWITCHS=$(cat /root/backupswitchs.sh| grep "#" | grep "10." | awk '{print $2}')

for i in $SWITCHS
do
NAME=$(cat /root/backupswitchs.sh | grep -w $i | grep "#" | awk '{print $1}' | cut -d"#" -f2)
/root/expect.sh $i $NAME
done

Voilà, au final mes switchs sont backupés en TFP en binaire et en ascii :)

 
25 octobre 2013 7 commentaires

#Android

FreeMobile: Priorisations des serveur DegroupTest en itinérance Orange

qos-degroupttestfreemobile Cela faisait un petit moment que je constate des débits complètement pourris sous FreeMobile en itinérance Orange.
Très souvent les gens disent qu'ils n'ont pas de problèmes en montrant leur fameux Test DégroupTest.

Même si je l'ai déjà prouver dans des articles précédents avec des transferts de fichiers, je cherchais quelquechose de visuel
permettant de mettre en evidence la QOS que Free (ou Orange) sur le test DegroupTest.
Et par conséquent qu'il ne faut pas s'y fier.

Logo Freemobile    degrouptest logo

Banc de test:

Depuis un moment je cherchais quelque chose de visuel pour tester les débits entre FreeMobile, et un de mes serveurs.
Et je suis tombé sur la perle: SpeedTest Mini: http://www.speedtest.net/mini.php

Speedtest vous permet dêtre Host en vous fournissant une WebApp installable sur vos serveur.
Il suffit de coller les fichiers sur un de vos espaces Web et le tour est jouer.

J'ai donc monté le SpeedTest sur une de mes VM disponible à l'adresse : http://speed.info16.fr



Cela permet d'avoir un test visuel mais enfin sur NOS serveurs avec une bande passante assurée

Pour mes tests j'ai utiliser un Mobile Samsung Galaxy S2 sous Cyanogen Mod9 (ICS) en partage de connexion Wifi.


Test de débit sur mon serveur http://speed.info16.fr à partir d'une connexion fibre 30Mbits/s


Pour prouver que mon serveur suit au niveau du debit, j'ai lancé le test à partir d'un PC sur mon speed.info16.fr
Ce test à été réalisé à partir d'une connexion entreprise 30Mbits/s symétrique.

ST info16 fibre

Je ne vous raconte pas d'histoire. Le serveur peut facilement encaisser.


Test de débit FreeMobile sur Antenne Free

J'ai la chance d'avoir à coté de chez moi une antenne Free.
Qui est apparue d'ailleurs miraculeusement après un de mes articles sur FreeMobile... (coincidence ou pas on ne le saura jamais)


Test de débit Avec FreeMobile en 3G+ Réseau Free Antenne Free (HSPA+).

APPLICATION DEGROUPTEST






Quasiment le même résultat entre Le test DegroupTest et le test sur mon serveur.
Pas de bridage


Test de débit FreeMobile sur Antenne Orange (itinérance)


Test de débit Avec FreeMobile en 3G+ Réseau Free Antenne Orange (HSPA+).

APPLICATION DEGROUPTEST



SPEED INFO16


On constate cette fois dans ce cas une priorisation sur le serveur de DegroupTest...
Et encore je ne me plaints pas.. 1Mbits/s en réèl c'est honorable...
J'ai déjà vu bien pire...

Par exemple le test 2 est encore plus édifiant:
TEST 2

APPLICATION DEGROUPTEST



SPEED INFO16



On constate en moyenne une baisse de débit entre 70 et 100%
Quelquefois on a même un test DégroupTest très honorable mais une impossibilité de naviguer sur le Web..

J'ai même vu mon site Web indisponible, alors que le Test DT était très bon...

Lorsqu'on est pas en itinérance il semble qu'il n'existe pas ou pratiquement pas de limitation de débit.


Par contre,
on constate bien une priorisation de bande passante sur les serveurs de DegroupTest à partir d'un réseau Free
et d'une Antenne Orange.

Vous pouvez vous amusez à tester, je vais laisser en ligne mon banc de test

Alors connectez vous sur mon serveur et amusez vous, je serai curieux d'avoir les résultats.

http://speed.info16.fr  (flash nécessaire)

16 novembre 2012 27 commentaires