Ansible | Realizar backup de uno o multiples dispositivo Cisco IOS

1r paso. Editamos el inventory file de Ansible llamado "hosts" donde definiremos las IPs/Hosts de los Routers/Switches que queramos realizar el backup.

 root@angel-pc:/etc/ansible# nano hosts

[devices]
192.168.1.10
192.168.1.20


[devices:vars]
ansible_python_interpreter=/usr/bin/python3
ansible_connection=network_cli
ansible_network_os=ios
ansible_ssh_user=usuario_ssh
ansible_ssh_pass=password_ssh

2o paso. Creamos un nuevo script donde aplicaremos el siguiento código:

 root@angel-pc:/etc/ansible# nano sh_run_backup.yml

---
- hosts: all
gather_facts: false


# Ejecutamos el comando 'show run' en el dispositivo Cisco IOS


tasks:
- name: Backup IOS device running config
cisco.ios.ios_command:
commands: show run

# Registramos el output del comando 'sh run' y lo guardamos en una variable llamada 'var' 

 
register: print_output

- debug: var=print_output.stdout_lines

# Exportamos el output de la variable var, lo convertimos en lenguaje JSON (human readable) y luego definimos el path de destino

 
- local_action:
module: copy
content: "{{ print_output.stdout_lines | to_nice_json }}"
dest: /etc/ansible/backups/sh_run_output_{{ inventory_hostname }}.txt

 --------------------------------------------

Script entero:

--
- hosts: all
gather_facts: false

tasks:
- name: Backup IOS device running config
cisco.ios.ios_command:
commands: show run

register: print_output

- debug: var=print_output.stdout_lines


- local_action:
module: copy
content: "{{ print_output.stdout_lines | to_nice_json }}"
dest: /etc/ansible/backups/sh_run_output_{{ inventory_hostname }}.txt

 ----------------------

3r paso. Ejecutar el script

root@angel-pc:/etc/ansible# ansible-playbook /etc/ansible/show_run_backup.yml 

Para ver el backup de 192.168.1.10 y 192.168.1.20 tan solo hemos de abrir la carpeta a /etc/ansible/backups/ y ahi dentro los encontrariamos en formato .txt

...y ya lo tendriamos :) la verdad que es una buena herramienta sencilla y gratuita para realizar el backup de todos los dispositivos Cisco IOS de una red.


Comentarios

Entradas populares de este blog

EVE-NG: Instalación de EVE-NG

Fortigate: Capturar paquetes (Packet capture/sniffer)

Cisco ISE | Certificados SSL públicos para Guest Portal