# Cisco asa backup playbook

**URL:** <https://forum.ansible.com/t/cisco-asa-backup-playbook/3457>\
**Category:** Get Help\
**Created:** [January 24, 2024, 10:21am UTC](https://forum.ansible.com/t/cisco-asa-backup-playbook/3457 "2024-01-24T10:21:06Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![FELIXmu](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixmu/32/2054_2.png) [@FELIXmu](https://forum.ansible.com/u/FELIXmu)\
**Post date:** [January 24, 2024, 10:21am UTC](https://forum.ansible.com/t/cisco-asa-backup-playbook/3457/1 "2024-01-24T10:21:07Z")

</div>

Can someone kindly assist with cisco asa backup playbook template.  
Thank you.

---

<div class="post-metadata">

**Author:** ![akira6592](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akira6592/32/222_2.png) [@akira6592](https://forum.ansible.com/u/akira6592)\
**Post date:** [January 24, 2024, 12:07pm UTC](https://forum.ansible.com/t/cisco-asa-backup-playbook/3457/2 "2024-01-24T12:07:14Z")

</div>

Hello @FELIXmu

How about using [`cisco.asa.asa_config` module](https://docs.ansible.com/ansible/latest/collections/cisco/asa/asa_config_module.html)?

example:

```yaml
- name: configurable backup path
  cisco.asa.asa_config:
    backup: yes
    backup_options:
      filename: backup.cfg
      dir_path: /home/user

```

---

<div class="post-metadata">

**Author:** ![FELIXmu](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixmu/32/2054_2.png) [@FELIXmu](https://forum.ansible.com/u/FELIXmu)\
**Post date:** [January 25, 2024, 5:40am UTC](https://forum.ansible.com/t/cisco-asa-backup-playbook/3457/3 "2024-01-25T05:40:18Z")

</div>

On this config, where are the remote devices defined?  
Where are the commands to be run?

---

<div class="post-metadata">

**Author:** ![FELIXmu](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixmu/32/2054_2.png) [@FELIXmu](https://forum.ansible.com/u/FELIXmu)\
**Post date:** [January 25, 2024, 5:57am UTC](https://forum.ansible.com/t/cisco-asa-backup-playbook/3457/4 "2024-01-25T05:57:12Z")

</div>

would below work?

- name: configurable backup path  
cisco.asa.asa\_config:  
lines:  
- show run  
backup: yes  
backup\_options:  
filename: backup.cfg  
dir\_path: /home/user

---

<div class="post-metadata">

**Author:** ![FELIXmu](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixmu/32/2054_2.png) [@FELIXmu](https://forum.ansible.com/u/FELIXmu)\
**Post date:** [January 25, 2024, 6:08am UTC](https://forum.ansible.com/t/cisco-asa-backup-playbook/3457/5 "2024-01-25T06:08:11Z")

</div>

does this do it?

- name: Run ASA Config Backup  
hosts: your\_asa\_device  
gather\_facts: no  
tasks:
  - name: Configurable Backup Path  
cisco.asa.asa\_config:  
lines:  
- show run  
backup: yes  
backup\_options:  
filename: backup.cfg  
dir\_path: /home/user  
gather\_facts: no

---

<div class="post-metadata">

**Author:** ![akira6592](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akira6592/32/222_2.png) [@akira6592](https://forum.ansible.com/u/akira6592)\
**Post date:** [January 25, 2024, 12:16pm UTC](https://forum.ansible.com/t/cisco-asa-backup-playbook/3457/6 "2024-01-25T12:16:10Z")

</div>

You can create a backup file `backup.cfg` with the following task.  
It is not necessary to specify an explicit `show running-config` command.

```yaml
    - name: backup config
      cisco.asa.asa_config:
        backup: true
        backup_options:
          filename: backup.cfg
          dir_path: ./

```

And you need define remote devices in the [inventory file](https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html).

---

<div class="post-metadata">

**Author:** ![FELIXmu](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixmu/32/2054_2.png) [@FELIXmu](https://forum.ansible.com/u/FELIXmu)\
**Post date:** [January 25, 2024, 12:19pm UTC](https://forum.ansible.com/t/cisco-asa-backup-playbook/3457/7 "2024-01-25T12:19:54Z")

</div>

If i have different devics in the inventory file? how does the playbook know which are ASA or target devices, yet on the playbook i dont see any host configured?

---

<div class="post-metadata">

**Author:** ![akira6592](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akira6592/32/222_2.png) [@akira6592](https://forum.ansible.com/u/akira6592)\
**Post date:** [January 25, 2024, 12:25pm UTC](https://forum.ansible.com/t/cisco-asa-backup-playbook/3457/8 "2024-01-25T12:25:26Z")

</div>

The special variable `inventory_hostname` indicates each inventory hostnames.

Therefore, you can create a backup file for each device by using the following for the file name.

```yaml
    - name: backup config
      cisco.asa.asa_config:
        backup: true
        backup_options:
          filename: "{{ inventory_hostname }}_backup.cfg"
          dir_path: ./

```

In this case, for example, asa01\_backup.cfg and asa02\_backup.cfg will be created.
