SIGN IN YOUR ACCOUNT TO HAVE ACCESS TO DIFFERENT FEATURES

FORGOT YOUR PASSWORD?

FORGOT YOUR DETAILS?

AAH, WAIT, I REMEMBER NOW!
GET SOCIAL
  • BLOG
  • SECURITY ALERTS
  • CONTATO
  • PRIVACIDADE
  • SOBRE
  • LOGIN

Brainwork

  • Certificação
  • Cisco
  • Informação
  • Linux
  • Microsoft
  • Network
  • Security
  • UC
  • Virtualização
  • Wireless
  • Home
  • Network
  • Script Python para backup e configuração de switches e roteadores
02/06/2025

Script Python para backup e configuração de switches e roteadores

Script Python para backup e configuração de switches e roteadores

by André Ortega / segunda-feira, 22 fevereiro 2021 / Published in Network

Criei um script em Python para enviar comandos para um lista de devices Cisco (roteadores e switches rodando IOS) e salvar o output.

O script tem sido bastante útil, podendo ser usado para fazer backup dos equipamentos e também para enviar comandos que são comuns para a lista de dispositivos, como configuração de logging, snmp, dhcp snooping, configuração de interfaces, e etc.

Meus conhecimentos de Python são limitados, então o script é bem básico. Também foi intensional ser simples o suficiente para que qualquer um possa usar, sem precisar saber de programação.

Para usar o script você vai precisar do python e dos módulos netmiko, getpass, csv, logging e datetime.

Usando o script

Livro CCNA

1) Instale o Python e os módulos necessários usando o pip.

2) Baixe o repositório do Github (ou ao menos os arquivos send_commands.py, devices_to_configure.csv e commands_to_send.txt, salvando-os na mesma pasta).

3) No arquivo devices_to_configure.csv informe a porta (22 ou 23) e o IP dos equipamentos que quer configurar/salvar os outputs.

devices

4) No arquivo commands_to_send.txt coloque os comandos que quer enviar (o script inicia no modo privilegiado).

commands

5) Execute o script: python send_commands.py.

send_commands

Na linha de comando é possível acompanhar o andamento, e o output dos comandos executados são salvos no arquivo log_file.txt, gerado na mesma pasta do script.

Mais informações no repositório do Github.

Até a próxima.

Relacionado

Tagged under: Automação, Backup, CiscoChampion, python, Script

About André Ortega

Formando em Processamento de Dados e Ciência da Computação. Especialista Cisco (CCNP Enterprise e CCNP Security). Dezenove anos de experiência com redes e segurança.

What you can read next

Tipos de LSAs e áreas OSPF
CiscoPedia – Guia de comandos Cisco
Instalando e configurando o Cacti

6 Comments to “ Script Python para backup e configuração de switches e roteadores”

  1. Alessandro Lopes says : Acesse para responder
    22/02/2021 at 11:13

    Olá André, sou o Alessandro da Marimex, fiz algo parecido aqui para a empresa, um pouco mais elaborado, com envio de email, etc, para poder praticar os conhecimentos em python.
    Também sou iniciando em python, agora tô fazendo um programa para coletar logs no event viewer para não ter que usar servidor de syslog, vai salvar no SQL, está praticamente pronto. Ainda não coloquei no github, mas se tiver interesse posso compartilhar.
    Python é uma coisa que eu quero me aprofundar e a melhor forma é praticando.

    https://github.com/alopes-sts/Backup-de-switches-com-Python

  2. André Ortega says : Acesse para responder
    25/02/2021 at 10:27

    Sensacional Alessandro. O seu script segue uma linha diferente do meu, já que é focado no backup.
    Esse que postei, apesar de mais simples, pode ser usado para configuração “em lote” também. enviando outros comandos.

    Obrigado por compartilhar.

  3. Gui says : Acesse para responder
    29/12/2022 at 11:24

    Fala André, bom dia!

    Muito bom seu script cara, parabéns!

    Só uma coisa, eu vi que ele já entra em modo de configuração, qual linha tem que remover pra ele não entrar em conf t?

    Abraço!

    1. André Ortega says : Acesse para responder
      06/01/2023 at 17:14

      Olá Gui, o script usa a biblioteca Netmiko, que faz o login e já entra no modo de configuração.
      Quando quero executar algum comando show, por exemplo, no script (arquivo com os comandos) eu coloco o “exit” na primeira linha.

  4. João Victor says : Acesse para responder
    21/03/2023 at 11:08

    Olá ! me chamo João Victor e quis deixar meu comentário informando que o código no processo de backup das informações, sempre não consegue coletar todas as informações ao usar o comando sh run ( abaixo segue o log gerado ), como podem vêr falta muita coisa, e o mesmo já deixa de lado e segue para o próximo da lista

    OBS: estou começando no universo Python. Assim como, estou fazendo uso do comando: terminal length 0 antes de sh run pra ele mostrar todas as config existente na running e com isso fazer print dessa saída.

    ———————–
    Logs
    ———————–

    configure terminal
    Enter configuration commands, one per line. End with CNTL/Z.
    SW-01-2960X(config)#end
    SW-01-2960XX#terminal length 0
    SW-01-2960X#sh run
    Building configuration…

    Current configuration : 6604 bytes
    !
    ! Last configuration change at 11:00:41 BRT Tue Mar 21 2023 by –
    !
    version 12.2
    no service pad
    service timestamps debug datetime msec
    service timestamps log datetime msec
    no service password-encryption
    !
    hostname SW-01-2960X

    configure terminal
    Enter configuration commands, one per line. End with CNTL/Z.
    SW-02-2960X(config)#end
    SW-02-2960X#terminal length 0
    SW-02-2960X#sh run
    Building configuration…

    Current configuration : 6581 bytes
    !
    ! Last configuration change at 11:00:48 BRT Tue Mar 21 2023 by –
    ! NVRAM config last updated at 13:51:20 BRT Wed Apr 13 2022 by –
    !
    version 12.2
    no service pad
    service timestamps debug datetime msec
    service timestamps log datetime msec
    no service password-encryption
    !
    hostname SW-02-2960X

    1. André Ortega says : Acesse para responder
      23/03/2023 at 14:18

      Olá João, obrigado por alertar. Fiz um teste aqui e realmente não esta funcionando.
      A coleta de informações funciona (ativando o debug você verá o output completo), mas o print (tela e arquivo) está sendo interrompido.
      Talvez no futuro eu investigue para ver o que está ocorrendo.

You must be logged in to post a comment.

POSTS RECENTES

  • DevNet evolui: novas certificações CCNA, CCNP e CCIE Automation
    DevNet evolui: novas certificações CCNA, CCNP e CCIE Automation
    30/05/2025
  • Novidades na Certificação CCNP Collaboration da Cisco
    Novidades na Certificação CCNP Collaboration da Cisco
    29/05/2025
  • Cisco atualiza nomes das certificações de cibersegurança
    Cisco atualiza nomes das certificações de cibersegurança
    28/05/2025
  • Criminosos Utilizam Site Fake de Antivírus para Propagar Malware
    Criminosos Utilizam Site Fake de Antivírus para Propagar Malware
    28/05/2025
  • Brasil na Operação RapTor: Ação Global na Dark Web
    Brasil na Operação RapTor: Ação Global na Dark Web
    24/05/2025

Tags

#Microsoft #CobaltStrike #Ransomware #AtaquesCibernéticos #SegurançaDigital #Hackers #Fortra #HealthISAC #ProteçãoDeDados #TI #CyberThreats #SegurançaNaNuvem #Tecnologia #MicrosoftSecurity #Broadcom 2324 2010 2015 2017 2022 2023 2024 2350 200-125 25 anos 2560C 2960C 2960X 2975 350-050 3560-X 200-301 2009 200-120 100-101 #Multicloud #VMwareTransformation 1 ano 1.1.1.100 10 anos 10 Gbps 100 empresas 200-101 100 Gigabit 1905 1921 1925 1941 2.0 1900 2800 2900 2013 2011 1800 2960 3750 2960S

Arquivo

Login

  • Acessar
  • Feed de posts
  • Feed de comentários
  • WordPress.org

Acesse Também

  • Blog LabCisco
  • Café com Redes
  • Cisco IOS hints and tricks
  • Cisco Redes
  • Cisco Support Community
  • Coruja de TI
  • Homelaber Brasil
  • Internetwork Expert´s
  • Netfinders Brasil
  • Rota Default
  • TechRebels
  • The Cisco Learning Network

X

Blog: Verificando MD5 (hash) de um arquivo no Windows e Linux brainwork.com.br/2023/05/11/v… #Checksum #CiscoChampion #Hash

Hahahahah Muito bom twitter.com/TracketPacer/s…

Blog: Trocar ícone (favicon) da página guest no Cisco ISE brainwork.com.br/2023/04/24/t… #Cisco_Champion #Customização #Favicon

Blog: Cisco Champion 2023 brainwork.com.br/2023/04/10/c… #CiscoChampion

Blog: RFC 2324 (HTCPCP), conhece? brainwork.com.br/2023/04/01/r… #2324 #CiscoChampion #HTCPCP

Seguir @brainworkblog
  1. ./fernando em Aprenda Python e ganhe pontos para renovar as certificações CCNA, CCNP e CCIE
  2. André Ortega em Reset Cisco FTD (zerar FTD sem reinstalar)
  3. ALEX LIRA CAMACHO em Reset Cisco FTD (zerar FTD sem reinstalar)
  4. André Ortega em Atualizando Cisco 9300 (Install Mode)
  5. Dominique em Atualizando Cisco 9300 (Install Mode)

Entre em contato:

  • Web: www.brainwork.com.br
  • Facebook: fb.com/brainworkblog
  • Twitter: twitter.com/brainworkblog
  • Youtube: youtube.com/brainworkblog
  • Instagram: instagram.com/brainwork.blog
  • GET SOCIAL
Brainwork

© 2008 - 2022 Brainwork. Todos os direitos reservados.
Customização da página por Brainwork.

TOP
Gerenciar o consentimento
Para fornecer as melhores experiências, usamos tecnologias como cookies para armazenar e/ou acessar informações do dispositivo. O consentimento para essas tecnologias nos permitirá processar dados como comportamento de navegação ou IDs exclusivos neste site. Não consentir ou retirar o consentimento pode afetar negativamente certos recursos e funções.
Funcional Sempre ativo
O armazenamento ou acesso técnico é estritamente necessário para a finalidade legítima de permitir a utilização de um serviço específico explicitamente solicitado pelo assinante ou utilizador, ou com a finalidade exclusiva de efetuar a transmissão de uma comunicação através de uma rede de comunicações eletrónicas.
Preferências
O armazenamento ou acesso técnico é necessário para o propósito legítimo de armazenar preferências que não são solicitadas pelo assinante ou usuário.
Estatísticas
O armazenamento ou acesso técnico que é usado exclusivamente para fins estatísticos. O armazenamento técnico ou acesso que é usado exclusivamente para fins estatísticos anônimos. Sem uma intimação, conformidade voluntária por parte de seu provedor de serviços de Internet ou registros adicionais de terceiros, as informações armazenadas ou recuperadas apenas para esse fim geralmente não podem ser usadas para identificá-lo.
Marketing
O armazenamento ou acesso técnico é necessário para criar perfis de usuário para enviar publicidade ou para rastrear o usuário em um site ou em vários sites para fins de marketing semelhantes.
Gerenciar opções Gerenciar serviços Manage {vendor_count} vendors Leia mais sobre esses propósitos
Ver preferências
{title} {title} {title}