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]$
Update to cisco.ios.ios_config: and you are golden
ReplyDeleteSounds like this
ReplyDelete- 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