Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este instrutível mostrará um script que pode ser usado para automatizar backups de um switch / roteador / firewall de redes foundry.
Etapa 1: Requisitos
Este script usa o expect para automatizar os backups e é executado em um sistema Linux. Se você nunca deu uma olhada, Oreilly tem um ótimo livro "Exploring Expect"
Etapa 2: Variáveis
Configure algumas variáveis. Você precisará alterar o nome de usuário, a senha, a fundição e as variáveis de prompt. / mnt / netapp / backups / foundry.foo.bar.com "set log" [timestamp -format% Y-% m-% d] -config.txt "set mailto" [email protected] "set mailsubject" Erro: foundry backup falhou [timestamp -format% Y-% m-% d] "set mailfail" "set prompt" telnet @ FLS648"
Etapa 3: conectar
Esta parte do script tenta se conectar ao foundry.send_user "Script de backup do Foundry / n" send_user "Conectando-se a $ foundry / n" spawn telnet $ foundry expect {"Password:" {send "$ password / r" expect {" $ prompt "{send_user" Conectado "}" falha "{send_user" Senha inválida, saindo de "set mailfail" Senha inválida, saindo de "close} timeout {send_user" Nenhum prompt retornado "set mailfail" Nenhum prompt retornado "close}}}" Nenhuma rota para o host "{send_user" Incapaz de conectar-se a $ foundry / n "set mailfail" Incapaz de conectar-se a $ foundry / n "}" Nome ou serviço desconhecido "{send_user" Incapaz de conectar-se a $ foundry / n "set mailfail "Impossível conectar a $ foundry / n"} timeout {send_user "Tempo limite de conexão com $ foundry" set mailfail "Tempo limite de conexão com $ foundry" close}} if {$ mailfail! = ""} {exec / bin / mail - s $ mailsubject $ mailto << "$ mailfail" exit}
Etapa 4: Desative o Paging
Desative o prompt "mais" para que possamos baixar a configuração. send "enable / r" expect {"$ prompt Switch #" {send_user "Enabled"} default {send_user "Habilitar falhou" set mailfail "ScreenOS não exceto opção de paging." close}} if {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit} send "skip-page-display / r" expect {"Desativar modo de exibição de página * $ prompt "{send_user" / nPaginização desabilitada / n "} default {send" ScreenOS não exceto opção de paginação. / n "set mailfail" ScreenOS não exceto opção de paginação. " close} timeout {send_user "ScreenOS não exceto opção de paging / n" set mailfail "ScreenOS não exceto opção de paging." fechar}} if {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Etapa 5: obter configuração
Esta parte do script obtém a configuração. send_user "Baixando configuração / n" log_file $ basedir / $ logsend "show running / r" expect {"$ prompt" {log_file send_user "\ nConfiguração baixada / n"} timeout {send_user "\ nErro durante o download da configuração." set mailfail "Erro durante o download da configuração." }} closeif {$ mailfail! = ""} {exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Etapa 6: verifique o tamanho do arquivo
Verifique o tamanho do arquivo. definir o tamanho do arquivo [tamanho do arquivo $ basedir / $ log] se {$ filesize <= 512} {send_user "A configuração do Netscreen é muito pequena, investigue / n" set mailfail "A configuração do Netscreen é muito pequena, investigue / n" exec / bin / mail -s $ mailsubject $ mailto << "$ mailfail" exit}
Etapa 7: Limpeza
Limpe as configurações com mais de duas semanas. # Remova a configuração com mais de 2 semanas e encontre $ basedir -name '* config.txt *' -mtime +14
Etapa 8: Junte tudo isso
Junte tudo. O script está anexado, ele enviará por e-mail em caso de falhas.