Mie Oct 15, 2008 4:08 am
|
 |
milko
Perlero Nuevo

|
Registrado: 07 Oct 2008
Mensajes: 7
|
|
| Capturar logs en script - perl |
|
|
Buenos días, tengo un script realizado en perl que hace backups de las configuraciones startup de Cisco. El script funciona bien y realiza lo que quiero pero deseo añadirle una función a la misma, es la siguiente: deseo que cuando haya algún problema en la conexión, ya sea el servidor en el cual está cargado el script desea conectarse al host remoto y éste no responde como si hubiese algún problema al lanzar el tftp, saliese en un fichero esos errores para posteriormente poder analizarlos y ver dónde está el problema. Necesito ésto ya que administro cientos de equipos y con lo que tengo montado me es imposible seguir host por host. El código es el siguiente:
| Perl: | #!/usr/bin/perl -w
use strict;
use Expect;
my $telnetUsername = "userx";
my $telnetPassword = "passy";
my $telnetPasswordEna = "passena";
my @telnetServer = ("server1", "server2", "server3");
my $fileToFetch = "startup-config";
my $tftpServer = "IP_tftp_server";
my $timeout = 10;
for (my $i= 0; $i< 3; $i++ ) {
print "Conexióon $telnetServer[$i]\n";
my $command = 'telnet';
# Create the Expect object
my $exp = Expect-> spawn($command, $telnetServer[$i]) or die "Cannot spawn telnet command \n";
$exp-> log_file("testlog");
$exp-> expect($timeout, ["Username:"]);
$exp-> send("$telnetUsername\n");
$exp-> expect($timeout, ["Password:"]);
# Sent the telnet password
$exp-> send("$telnetPassword\n");
# Wait for telnet prompt
$exp-> expect($timeout, [" >"]);
# mode super-user
$exp-> send("ena\n");
$exp-> send("$telnetPasswordEna\n");
#mete los valores oportunos
$exp-> send("copy startup-config tftp:\n");
#$exp->expect($timeout, ["Address or name of remote host []?"]);
$exp-> send("$tftpServer\n");
$exp-> expect($timeout, ["Destination filename [ ]?:"]);
$exp-> send("\n");
$exp-> send("exit\n");
$exp-> soft_close();
} |
Tengo configurada la siguiente línea: $exp->log_file("testlog");
Esa línea hace como una especie de print de todo lo que hace el script, eso no lo deseo.
Espero que me puedan ayudar, muchas gracias a todos de antemano.
Un cordial saludo. |
|
|
|

Mie Oct 15, 2008 10:06 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4239
Ubicación: Valladolid, España
|
|
|
|
|
Hummm... he mirado en Net::Telnet::Cisco::IOS y no veo nada relacionado con los errores. En cambio, Net::Telnet::Cisco sí que tiene el método errmsg().
Otra opción es parsear todo lo que te llega, distinguir lo que es error, y sacarlo a un fichero que antes hayas abierto...
Hay algunos ejemplos, en estos foros, de estos dos módulos, pero creo recordar que no hay nada referente a errores... |
|
Jue Oct 16, 2008 1:05 am
|
 |
milko
Perlero Nuevo

|
Registrado: 07 Oct 2008
Mensajes: 7
|
|
|
|
|
Muchas gracias explorer, miraré en el foro.
Un saludo. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|