Besoin d'aide pour script expect

Le
geo cherchetout
Bonjour,

Certaines informations de qualité de ma connexion adsl ne peuvent être
obtenue que par interrogation de mon modem et je souhaiterais les recueillir
périodiquement (avec l'aide de cron) dans un fichier qui s'allongerait à
chaque consultation.

J'ai rédigé le petit script suivant :

#!/usr/bin/expect
spawn telnet 192.168.1.254
expect "Username : "
send "Administrator"
expect "Password : "
send ""
expect "{Administrator}=>"
log_file /home/geo/log/adslinfo.txt
send "adsl info expand=enabled"
expect "{Administrator}=>"
send "exit"
close

Ce script fonctionne le première fois mais le fichier de log n'est pas
complété la fois suivante et ce que dit le man à ce sujet n'est pas très
clair pour moi. Quelqu'un peut-il me donner un petit coup de pouce ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
geo cherchetout
Le #23469091
Le 16/06/2011 18:25, j'ai écrit :

Ce script fonctionne le première fois mais le fichier de log n'est pas
complété la fois suivante et ce que dit le man à ce sujet n'est pas très
clair pour moi. Quelqu'un peut-il me donner un petit coup de pouce ?



ô vieillesse ennemie, tout fonctionne parfaitement, j'oubliais de recharger
mon fichier !

Maintenant je sèche toujours sur un point : Comment introduire dans mon
fichier de log la date à chaque exécution du script ? Probablement avec la
commande timestamp mais je dois mal l'utiliser car nulle date n'apparaît
dans mon fichier.

Voici la version « estampillée » de mon script :

#!/usr/bin/expect
spawn telnet 192.168.1.254
expect "Username : "
send "Administratorr"
expect "Password : "
send "r"
expect "{Administrator}=>"
log_file -a /home/geo/log/adslinfo.txt
timestamp -format %c
send "adsl info expand=enabledr"
expect "{Administrator}=>"
send "exitr"
close
geo cherchetout
Le #23473101
Le 16/06/2011 19:18, j'ai écrit :

Maintenant je sèche toujours sur un point : Comment introduire dans mon
fichier de log la date à chaque exécution du script ? Probablement avec la
commande timestamp mais je dois mal l'utiliser car nulle date n'apparaît
dans mon fichier.



Après d'innombrables échecs, voici enfin un script qui fait le travail.
C'est sûrement enfantin pour les pro mais je suis plutôt content de moi. ;-)

#!/usr/bin/expect

set DATE [timestamp -format %Y%m%d%H%M%S]

spawn telnet 192.168.1.254
expect "Username : "
send "Administratorr"
expect "Password : "
send "r"
expect "{Administrator}=>"
log_file -a /home/gerard/log/adslinfo.txt
send_user nn

send_user $DATE

send_user nn
send "adsl info expand=enabledr"
expect "{Administrator}=>"
send "exitr"
close
Publicité
Poster une réponse
Anonyme