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
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.
4) No arquivo commands_to_send.txt coloque os comandos que quer enviar (o script inicia no modo privilegiado).
5) Execute o script: python send_commands.py.
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.
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
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.