mirror of
https://github.com/zahodi/ansible-mikrotik.git
synced 2025-08-03 17:45:09 +02:00
add a sample backup and rollback task to use on production routers
This commit is contained in:
parent
f4cde80776
commit
8cdeb6a26e
1 changed files with 52 additions and 0 deletions
52
tasks/backup_recover.yml
Normal file
52
tasks/backup_recover.yml
Normal file
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
################################################################
|
||||
# TEMPORARY TASK TO STORE THE ROLLBACK PROCEDURE
|
||||
#######################################################################
|
||||
|
||||
###################################################################
|
||||
# create a backup and add a scheduler to rollback if we lose connection
|
||||
# to the a mikrotik device during the ansible run.
|
||||
# Place this in the begging of your playbook
|
||||
#####################################################################
|
||||
- name: run command module to create a backup
|
||||
mt_command:
|
||||
hostname: "{{ mt_hostname }}"
|
||||
username: "{{ mt_user }}"
|
||||
password: "{{ mt_pass }}"
|
||||
command: /system/backup/save
|
||||
command_arguments:
|
||||
name: pre_deploy
|
||||
password: 123
|
||||
- name: add rollback scheduler task
|
||||
mt_system_scheduler:
|
||||
hostname: "{{ mt_hostname }}"
|
||||
username: "{{ mt_user }}"
|
||||
password: "{{ mt_pass }}"
|
||||
state: present
|
||||
name: rollback
|
||||
on_event: /system backup load name=pre_deploy.backup password=123
|
||||
interval: 30m
|
||||
policy:
|
||||
- password
|
||||
- reboot
|
||||
- write
|
||||
- sensitive
|
||||
- test
|
||||
- read
|
||||
- policy
|
||||
|
||||
###################################################################
|
||||
# Place this in the end of your mikrotik playbook this will remove the
|
||||
# rollback scheduler task if the playbook runs succesfully
|
||||
#####################################################################
|
||||
- name: remove rollback scheduler task if run succesfull
|
||||
hosts: govsat
|
||||
gather_facts: no
|
||||
connection: local
|
||||
tasks:
|
||||
- mt_system_scheduler:
|
||||
hostname: "{{ mt_hostname }}"
|
||||
username: "{{ mt_user }}"
|
||||
password: "{{ mt_pass }}"
|
||||
state: absent
|
||||
name: rollback
|
Loading…
Add table
Add a link
Reference in a new issue