De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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 #####Path e arquivos necessarios set logpath "/backup/cisco" set roteadores "/backup/cisco/roteadores.txt" ############################################################################## #####Password e Enable Password set pass "SenhaDoCisco" set enapass "SenhaDeEnableDoCisco" ############################################################################## 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 #####Path e arquivos necessarios set logpath "/backup/cyclades" set roteadores "/backup/cyclades/roteadores.txt" ############################################################################## #####User e password set user "UsuarioDoCyclades" set pass "SenhaDoCyclades" ############################################################################## 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.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários