# Резервирование роутера MikroTik.
- hosts: mikrotik
# gather_facts: no // needed for ansible_date_time
vars:
backup_file: "{{ name }}-{{ ansible_date_time.date }}.backup"
tasks:
- name: Создание бэкапа
routeros_command:
commands: "/system backup save dont-encrypt=yes name={{ backup_file }}"
- name: Скачивание бэкапа
net_get:
src: "{{ backup_file }}"
dest : "/var/backups/mikrotik/{{ backup_file }}"
- name: Удаление бэкапа
routeros_command:
commands: "/file remove {{ backup_file }}"
- name: Поиск файлов старше 7 дней
find:
paths: /var/backups/mikrotik
age: 7d
register: files_to_delete
- name: Удаление найденных файлов
file:
path: "{{ item.path }}"
state: absent
with_items: "{{ files_to_delete.files }}"
Используйте Ansible не ниже версии 2.7, в предыдущих нет модуля routeros_command. Осторожно с использованием модуля net_get в версиях до 2.9. В net_put была бага, из-за которой он не работал. Возможно, что в net_get есть такая же. Последние две команды - ротация. Первая готовит список файлов старше 7 дней. Вторая их удаляет.