Gestion du temps entre deux commandes?

Gestion du temps entre deux commandes? - Perl - Programmation

Marsh Posté le 12-06-2013 à 10:12:49    

Bonjour à tous,
 
Dans mon script, je désire faire une un sauvegarde du fichier de configuration de mon switch en binaire et ascii.
Pour cela j'envoie je dois envoyer les commandes suivantes:
 

Code :
  1. $t->waitfor("$prompt" );
  2. $t->print("copy runnin-config tftp filename fichier.ac address 1.1.1.1" ); # sauvegarde en ascii
  3. sleep 1;
  4. $t->waitfor("$prompt" );
  5. $t->print("copy config tftp filename fichier.bin address 1.1.1.1" ); # sauvegarde en binaire


 
Le problème c'est que le copy prend plusieurs secondes, et  je ne sais pas comment dire à mon script, attend que la copy runinng-config... soit terminée pour ensuite envoyer la copy config....? Je pourrai peût-être utiliser sleep mais je n'aime pas trop ;-)
 
Merci pour votre aide.

Reply

Marsh Posté le 12-06-2013 à 10:12:49   

Reply

Marsh Posté le 12-06-2013 à 11:53:23    

Ben c'est pas ce a quoi sert le waitfor("$prompt" )??
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 12-06-2013 à 12:02:10    

gilou a écrit :

Ben c'est pas ce a quoi sert le waitfor("$prompt" )??
A+,


 
oui effectivement ;-) mais il ne le prend pas! je pense que lors du copy... un ou des  caractères du prompt s'affichent....
 
Je devrais peut-être être plus précis sur mon prompt, comment écrire un waiftor avec  'nomduprompt#?   waitfor('/.*[#]/') ?


Message édité par Mustaal le 12-06-2013 à 12:10:05
Reply

Marsh Posté le 12-06-2013 à 13:33:03    

Faut faire alors un waitfor(/regexp/) ou regexp est une expression régulière qui identifie ce qui est envoyé en console (une ligne qui dit copy done? un prompt different?) une fois la commande effectuée.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 12-06-2013 à 14:07:30    

gilou a écrit :

Faut faire alors un waitfor(/regexp/) ou regexp est une expression régulière qui identifie ce qui est envoyé en console (une ligne qui dit copy done? un prompt different?) une fois la commande effectuée.
A+,


 
Je pourrai essayer avec un waitfo("% ACG configuration generation completed" );
% ACG configuration generation completed --> étant la dernier ligne à la fin de commande copy.....
 
après je reviens sur mon prompt stack#

Reply

Marsh Posté le 12-06-2013 à 14:52:00    

J'éviterais le % initial dans la chaîne, à tout hasard.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 13-06-2013 à 10:58:23    

gilou a écrit :

J'éviterais le % initial dans la chaîne, à tout hasard.
A+,


 
 
Merci pour l'info  mais au final je ne ferai qu'ne sauvegarde en ASCII , fichier plus petit et lisible.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed