lunes, 8 de agosto de 2011

Respaldo de equipos Cisco usando Perl (Por Telnet)

Saludos Sres,

En este breve blog, les ensare como usar Perl para acceder a los routers Cisco, y guardar la configuracion en un archivo de texto.

Antes que todo, para poder hacer esta tarea desde Perl, es necesario instalar el modulo de perl Net::Telnet::Cisco. Para instalarlo, ejecutamos la siguiente linea:

perl -MCPAN -e 'install Net::Telnet::Cisco'.

Una vez hecho esto, estamos listos para poder hacer respaldos de nuestros dispositivos haciendo uso de nuestro programa en Perl.


####SCRIPT####


#!/usr/local/bin/perl -w
use Net::Telnet::Cisco;

########
# Main #
########

#Nombre del archivo donde se va a guardar la configuracion del router
my $file_name= "192.168.58.51";

#Creamos nuestro objeto!, '192.168.58.51' es la direccion del router a donde vamos a acceder
my $session = Net::Telnet::Cisco->new(Host => '192.168.58.51');

#Nos conectamos a neustro router, "themadfaceblog" es el nombre de usuario del router, "blogspot" es la clave de ese usuario.
$session->login('themadfaceblog', 'blogspot');

#Entramos al modo privilegiado, "password0101010101010" es la clave para entrar al modo privilegiado.

if ($session->enable("password0101010101010") ) {
my @output = $session->cmd('show run');

#Abrimos un archivo e imprimimos la configuracion del router en ese archivo

open FH, ">$file_name" or die "can't open '$file_name': $!";
foreach ( @output )
{
print FH $_;
}
close FH;

#En caso de que no podemos entrar al modo de configuracion privilegiada, dinos la razon por la cual no se pudo
} else {
warn "Can't enable: " . $session->errmsg;
}


####FIN SCRIPT####




Para ejecutar este script, lo hacemos de la siguiente manera

themad@face:~/perl$ chmod +x script.pl
themad@face:~/perl$ ./scrip.pl


Luego, para leer la configuracion de nuestro router
themad@face:~/perl$ less 192.168.58.51
Building configuration...

Current configuration : 71536 bytes
!
version 12.3
service timestamps debug datetime localtime
service timestamps log datetime localtime
service password-encryption
!
hostname THEMADFACE
!
boot-start-marker
boot system flash disk2:c7200-spservicesk9-mz.122-33.SRD2.bin
boot-end-marker
!
...
...
...


:)

Espero que les haya sido util,

Si tienen algun problema con sus Scripts, no duden en escribirnos, que con todo el gusto del mundo los ayudaremos!


Hasta la proxima! >:)

2 comentarios:

  1. m ayudarias para poner un listado de equipos que sacar la config y guardarlos el nombre del archivo con la ip del equipo

    ResponderEliminar
  2. Saludos amigo, como no....

    Disculpala demora en responder, si todavia necesita ayuda, avisame por este medio que con todo el gussto lo ayudamo!


    Gracias!

    ResponderEliminar