Demande de confirmation après commande Switch en telnet
Bonjour,
je souhaite réaliser la remise a zéro des compteurs d'erreurs d'un Switch CISCO 3750.
J'ai produit le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #!\\usr\\Perl\\bin
use strict;
use warnings;
use Net::Telnet::Cisco;
#---- Declaration des variables ----#
my $cmdInitiale = 'clear counters FastEthernet 1/0/';
my $cmd = '';
my $raz = '';
my $IP_Switch = 'xxx.xxx.xxx.xxx';
my $login = 'user';
my $mdp = 'pass';
# Ouverture de la connexion telnet sur le Switch correspondant
my $session = Net::Telnet::Cisco->new(Host => $IP_Switch, Prompt => '/.*\#/');
$session->login(Name => $login, Password => $mdp, Prompt=>'/\#/');
# Boucle pour réinitialiser chacun des ports
for (my $j = 1; $j <= 24; $j++)
{
$cmd = $cmdInitiale.$j; # Attribution du port
$raz = 'Remise a zero fa1/0/'.$j.' effectuee';
# Traitement de la commande
if ($session->cmd(String => $cmd, Prompt => '/]/'))
{
#Ouverture/creation du fichier
open (FSOR, '>> RemiseAzero.txt') or die "Impossible d'ouvrir le fichier : $!\n";
print FSOR $raz, "\n"; # Permet de voir les commandes réalisées et garder une trace
close FSOR;
}
}
__END__ |
j'utilise la commande "clear counter FastEthernet 1/ numéro de port".
Cependant, cette commande nécessite une confirmation et je ne vois pas comment faire autrement qu'un prompt...
Après exécution de mon code, j'obtiens 3 passages dans la boucle mais une erreur apparait:
Citation:
Last command and router error:
Switch_3750#clear counters FastEthernet 1/0/3
....................^
% Invalid input detected at '^' marker.
Je ne comprends pas pourquoi l'erreur ne se produit pas au tout début et comment cela peut bloquer après plusieurs passages dans la boucle.
Je vous remercie par avance,
Maykin