Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Salvando as configurações de roteadores Ciscos e Cyclades
Colaboração: Marcos Helbert de Almeida Fontana
Data de Publicação: 25 de Julho de 2005
É a primeira vez que escrevo aqui e vou tentar ajudar aqueles que dispõe de muitos roteadores cisco e cyclades em sua rede. Neste fim de semana tive um problema com um cyclades que foi reconfigurado e perdeu várias rotas. Montei a seguinte solução para backup de configurações dos retoadores usando a linguagem expect.
Para rotadores cisco é necessário o script seguinte:
#!/usr/bin/expect
#cisco.exp
< A NAME="note" HREF="#textnote">< SUP>#Path e arquivos necessarios
set logpath "/backup/cisco"
set roteadores "/backup/cisco/roteadores.txt"
< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
< A NAME="note" HREF="#textnote">< SUP>#Password e Enable Password
set pass "SenhaDoCisco"
set enapass "SenhaDeEnableDoCisco"
< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
set host ""
set data [exec date +%Y%m%d]
set timeout 20
#Cria diretorio (se nao existe)
if {!([file exists $logpath/cisco.$data])} then {
set MakeDir [exec mkdir $logpath/cisco.$data]}
# telnet para Ciscos -- pega configuracao
set lista [open $roteadores r]
while {[gets $lista host] > 0} {
#Telnet para os Ciscos
spawn telnet $host
expect {
"word:" {
send "$pass\r"
expect ">"
send "enable\r$enapass\r"
expect "#"
send "term len 0\r"
#Aqui estamos logados no router
#Vamos agora pegar as configuracoes
set logfile "$logpath/cisco.$data/$host.$data.conf"
log_file -noappend $logfile
expect "#"
send "wr t\r"
expect "#"
log_file
send "\r"
expect "#"
#Agora a saida de "show tech"
set logfile "$logpath/cisco.$data/$host.$data.tech"
log_file -noappend $logfile
send "show tech\r\r\r"
expect "#"
log_file
close
wait
}
timeout {
close
wait
}}
}
close $lista
Para os cyclades:
#!/usr/bin/expect
#cyclades.exp
< A NAME="note" HREF="#textnote">< SUP>#Path e arquivos necessarios
set logpath "/backup/cyclades"
set roteadores "/backup/cyclades/roteadores.txt"
< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
< A NAME="note" HREF="#textnote">< SUP>#User e password
set user "UsuarioDoCyclades"
set pass "SenhaDoCyclades"
< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
set host ""
set data [exec date +%Y%m%d]
set timeout 20
#Cria diretorio (se nao existe)
if {!([file exists $logpath/cyclades.$data])} then {
set MakeDir [exec mkdir $logpath/cyclades.$data]}
# telnet para Cyclades -- pega configuracao
set hostlist [open $roteadores r]
while {[gets $hostlist host] > 0} {
#Telnet para os Cyclades
spawn telnet $host
expect {
"login :" {
send "$user\r"
expect "Password :"
send "$pass\r"
expect "#"
send "1\r"
#Aqui estamos logados no router
#Vamos agora pegar as configuracoes
set logfile "$logpath/cyclades.$data/$host.$data.conf"
log_file -noappend $logfile
expect "#"
send "l\r"
expect "#"
send "\r"
#Cyclades tem a saida pagina
expect {
"More" { send -- " ";exp_continue }
"#" {}
}
log_file
close
wait
}
timeout {
close
wait
}}
}
close $hostlist
Isso deve resolver praticamente os problemas com backup dos routers. Pode-se ainda criar um servidor de tftp em alguma máquina e colocar nestes scripts uma rotina que grave nestes servidores um backup prontinho para ser restaurado.
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.





