Ansible-playbook for backing up running config of Cisco IOS

This ansible-playbook can be used to backup running configuration from Cisco IOS devices. You can refer to my earlier post Getting Started with your first ansible-playbook for Network Automation to know about the parameters used in this playbook.


Inventory file

# Inventory file for Ansible
[XE]
ios-xe-mgmt.cisco.com:8181
ios-xe-mgmt-latest.cisco.com:8181
[XR]
sbx-iosxr-mgmt.cisco.com:8181
[all:vars]
ansible_network_os=ios


Playbook

---
- name: Define Parameters
  hosts: XE
  gather_facts: no
  connection: network_cli
  tasks:
   - name: backup the config
     ios_config:
      backup: yes
     register: backup_config
   - name: Store the config to directory
     copy:
      src: "{{ backup_config.backup_path }}"
      dest: "/tmp/backups/{{ inventory_hostname }}"



Running the playbook

[prashant@Prashant-VM01 ~]$ ansible-playbook play03.yml -i /home/prashant/inventory -u developer -k
SSH password:
PLAY [Define Parameters] **********************************************************************************************************
TASK [backup the config] **********************************************************************************************************
changed: [ios-xe-mgmt-latest.cisco.com]
changed: [ios-xe-mgmt.cisco.com]
TASK [Store the config to directory] **********************************************************************************************
changed: [ios-xe-mgmt.cisco.com]
changed: [ios-xe-mgmt-latest.cisco.com]
PLAY RECAP ************************************************************************************************************************
ios-xe-mgmt-latest.cisco.com : ok=2    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
ios-xe-mgmt.cisco.com      : ok=2    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0


Verifying the backup files 

[prashant@Prashant-VM01 ~]$ cd /tmp/backups
[prashant@Prashant-VM01 backups]$ ls
ios-xe-mgmt.cisco.com  ios-xe-mgmt-latest.cisco.com
[prashant@Prashant-VM01 backups]$

Comments

  1. Update to cisco.ios.ios_config: and you are golden

    ReplyDelete
  2. Sounds like this

    - name: backup running config on the routers
    cisco.ios.ios_config:
    backup: yes
    backup_options:
    filename: "{{ inventory_hostname }}_backup.cfg"
    dir_path: /home/osboxes/Documents

    ReplyDelete

Post a Comment

Popular posts from this blog

Specifying SSH port in Ansible Inventory

Ansible-Playbook to display output of multiple show commands (using stdout_lines with Loop)

Filtering Routes in BGP using Route-maps and Prefix-list

Ansible Playbook for Network OS Upgrade with pre and post checks

Bypassing Proxy Server in Google Chrome

VMware NSX Traffic Flow — East-West & North-South

Export or Backup Azure Network Security Groups into CSV using PowerShell