IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation et administration système Perl Discussion :

modification script perl/except


Sujet :

Programmation et administration système Perl

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2011
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 179
    Points : 107
    Points
    107
    Par défaut modification script perl/except
    Bonjour,

    j'ai un script perl qui me permet de faire une sauvegarde de la configuration active d'un équipement (cf. en PJ le script) alogin.pl de type ALTEON.

    l'image sur le système est le même que sur un équipement de type IMB PURFLEX, cependant depuis quelques MAJ sur l'OS, j'ai un choix qui se présent à moi quand je me connecte sur un IMB PURLEX qui me demande si je veux choisir entre l'OS IBM ou un OS cisco like :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select Command Line Interface mode (ibmnos-cli/iscli):
    donc j'avais repris le script pour tenter d'intégrer les lignes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	expect {
     
    		-re "^Select Command Line Interface mode (ibmnos-cli/iscli):" {
    						 send "ibmnos\r"
    						 exp_continue
    						}
        }

    pas de bol, ça ne marche pas je dois donc me gourer quelque part et vu mes connaissances en perl qui sont proches du 0 je galère un peu.

    Je viens donc solliciter votre aide afin qu'on puisse m'aider à faire fonctionner ce script avec ce nouveau paramètre.

    Il faut savoir que ce paramètre s'affiche dès qu'on se connecte à l'équipement (donc après la saisie du couple login/pwd).

    Pour ma part, je l'insérais en premier à partir de la ligne 455.

    Merci par avance pour votre aide !

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    OK, "ça ne marche pas", mais c'est un peu pauvre comme diagnostic pour que l'on puisse t'aider. Tu as un message d'erreur ou un warning? Ou juste ça ne fait pas ce que tu attends? Tu as essayé de déboguer?

    PS: je ne vois pas de pièce jointe.

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2011
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 179
    Points : 107
    Points
    107
    Par défaut
    hello !

    concernant le debug, ça part en timeout.

    le pourquoi du "timeout" c'est parce que le script ne sait pas comment traiter cette entrée qui s'affiche :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select Command Line Interface mode (ibmnos-cli/iscli):
    donc, vu que l'équipement attend un retour (ibmnos ou iscli) au bout de 60 sec ça part en timeout, et ça kill la session.

    voilà ce qui se passe quand j'exe le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [rancid@oslxmon50 ~]$ bin/ibmrancid -d ocibmpur9
    executing alogin -t 90 -c"/info/sys/dump;/cfg/dump" ocibmpur9
    ocibmpur9: missed cmd(s): /info/sys/dump,/cfg/dump
    ocibmpur9: missed cmd(s): /info/sys/dump,/cfg/dump
    ocibmpur9: End of run not found
    ocibmpur9: End of run not found
    /*
    le -d c'est pour le debug (commande de RANCID). le script fait appel à "alogin" pour "alteon login" (comme j'ai expliqué plus haut, c'est le même OS qui tourne sur un alteon/ibm) et donc c'est dans ce script "alogin" qu'il ne connait pas cette variable qui s'affiche pour qu'on choisisse entre des commandes ibmnos ou ciscolike (iscli).

    j'avais le même retour d'erreur sur les alteon quand je faisais un dump de la config et l'alteon posait une question qui n'était pas prise en compte dans le script (l'alteon sur la dump voulait savoir si on voulait afficher les clés privés ou pas).

    le script a été corrigé avec l'ajout des lignes suivantes :


    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
    	expect {
    		-re "^Display private keys"	{
    									  if {$privatekeys == 1} {
    									    send "y\r"
                                            send $passphrase
                                            send "\r"
                                            send $passphrase
                                            send "\r"
    									  } else {
    									    send "n\r"
    									  }
    									  exp_continue
    									}
    	    -re "^\[^\n\r]*$reprompt"		{}
    	    -re "^\[^\n\r ]*>>.*$reprompt"	{ exp_continue }
    	    -re "\[\n\r]+"			{ exp_continue }
    	}

    donc je me dis que pour mon problème c'est un peu la même chose, sauf que je ne sais pas trop où rajouter ce qu'il faudrait !

Discussions similaires

  1. modification script perl pour nagios
    Par tetzispa dans le forum Programmation et administration système
    Réponses: 19
    Dernier message: 27/09/2014, 22h29
  2. modif script PERL
    Par vigiepresse dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/01/2011, 20h03
  3. Réponses: 3
    Dernier message: 31/03/2008, 13h59
  4. Réponses: 2
    Dernier message: 11/07/2002, 08h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo