Imagine a situação em que você precisa aplicar uma série de comandos em diversos switches…. Imaginou…

Então ai vai um script que pode lhe ajudar no processo.

 	 	

#!/usr/bin/expect

# Copyleft (c) 2009 Marcos Pitanga <marcos.pitanga@gmail.com>

# arg1 = IP

set ip [lindex $argv 0]

set timeout 60

spawn telnet $ip

 

expect “Password:”

send “cisco1234r”

 

expect “>”

send “enabler”

 

expect “Password:”

send “cisco1234r”

 

expect “#”

send “configure terminalr”

 

expect “(config)”

send “no ip dhcp snoopingr”

 

expect “(config)”

send “no ip igmp snoopingr”

 

expect “(config)”

send “exitr”

 

expect “#”

send “show running-configr”

 

expect “#”

send “copy running-config startup-configr”

expect “startup-config”

send “r”

 

expect “#”

send “exitr”

Divirtam-se…

Popularity: 3% [?]


Leia também:

16 Respostas para “Script para automatizar comandos em switches Cisco…”
  1. Daniel ValenteNo Gravatar diz:

    Ah!!! Velho expect!!!
    Esses dias apos muito ler sobre o expect e sua sintaxe “descobri” o autoexpect. Muito muito util, valeu!

  2. MOSCANo Gravatar diz:

    E aonde/como eu aplico isso?

  3. Marcos PitangaNo Gravatar diz:

    De uma máquina que tenha Linux, que tenha o expect instalado, execute como root chmod +x atualiza.expect e depois execute:

    ./atualiza.expect

    []’s

  4. Jose AntonioNo Gravatar diz:

    Legal dele que também podemos criar um script de email para quando o Backup não funcionar :)

  5. MoonspellNo Gravatar diz:

    Marcos, acho q tá faltando alguma coisa no seu script… Editei ele aqui de acordo com minhas necessidades (uso TACACS) e só recebo timeout do equipament, seja ele switch ou router.

    Já vi essa msg qdo configurei o RANCID, mas, alterando um parâmetro no software, resolvi o problema.

    abraço

  6. rpedrosa1979No Gravatar diz:

    Interessante, mas ainda nao sei quando irei utilizar isso nos meus clientes!!!

  7. roxsndNo Gravatar diz:

    Boa!

    Precisava de alguma ferramenta/script que automatizasse a verificação de portas de switch que não estejam sendo utilizadas, de modo a possibilitar um inventário… Alguém sugere algum software/script?

  8. Cledir JustoNo Gravatar diz:

    só fazer umas modificações no script rox, utilizando sh ip int b e sh int para ver se as interfaces estão down.

  9. Marcos PitangaNo Gravatar diz:

    Nao apareceu o \r no final de cada linha

  10. Marcos PitangaNo Gravatar diz:

    Senhores, creio que pela formatação do HTML e corta o \

    Então, antes de qualquer r no final use \r.

    []’s

  11. fabricio.oliveiraNo Gravatar diz:

    Senhores,

    Analisando o script postado por Marcos Pitanga, fiz umas adaptações simples para quem utiliza Linux como SYSLOG.

    Att,

    Fabricio Oliveira
    fabriciooli@gmail.com

    USANDO O COMANDO TELNET ou SSH

    #!/usr/bin/expect -f

    set data [exec date +%d%m%y]

    set timeout 3

    spawn -noecho telnet IP_do_ATIVO OU spawn -noecho ssh -c DES(CHAVE CRIPTOGRAFIA) -l USUARIO IP_DO_ATIVO

    expect “Password:”
    send “SENHA_DO_ATIVO\r”

    expect “>”
    send “ena\r”

    expect “Password:”
    send “SENHA_DO_ENABLE\r”

    expect “#”
    send “copy running-config tftp:IP_SERVIDOR_SYSLOG\r”

    send “IP_SERVIDOR_SYSLOG\r”
    send “NOME_DO_ATIVO_$data.cfg”
    send “\r”
    expect “#”
    send “exit\r”

    ###################################

  12. Ravy DouradoNo Gravatar diz:

    roxsnd, fiz um script que faz uma verificaçao automatizada em todos os switches e procura por portas “notconnected”, joga os resultados separadamente pastas com a data e arquivos nomeados com o ip do switch. Caso se interesse, eh so falar.

  13. gudinesNo Gravatar diz:

    Post Interessante! Valeu Marcos Pitanga!

  14. miovieiraNo Gravatar diz:

    Ravy Dourado, poderia me enviar esse script para ver como está funcionando??

    Abraço.

  15. edu_webNo Gravatar diz:

    O script é simple.. mas se entendi certo precisamos digitar o IP de cada host para efetuar as configurações.
    Como seria o script para que ele pegue o IP do Switch ou Router automaticamente em um arquivo com as entradas abaixo por exemplo?

    200.55.55.20
    192.43.2.19
    78.45.97.253
    10.5.20.203
    189.100.241.110

    Coloquei 4 entradas como exemplo.. mas o script precisará varrer um arquivo texto com uns 300 IPs e configurar todos com as mesmas infos.

    Alguém pode auxiliar nisso?

  16. lyonNo Gravatar diz:

    edu, vc pode fazer da seguinte maneira.

    for i in `cat nome_do_arquivos`
    do
    echo “$i \n”
    done

    Entre o do… done vc coloca os comandos que serão executados.
    Neste exemplo ele ira ler o arquivo e mostrar na tela o conteudo de cada linha

Deixe um Comentário

Você deve estar logado para postar um comentário. Login »