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:
j'utilise la commande "clear counter FastEthernet 1/ numéro de port".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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__
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:
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.Last command and router error:
Switch_3750#clear counters FastEthernet 1/0/3
....................^
% Invalid input detected at '^' marker.
Je vous remercie par avance,
Maykin
Partager