É possível fazer backup do servidor usando o Ansible. Sou novo usuário do Ansible, então não tenho certeza se é uma boa prática ou não.
Se você deseja fazer backup de bancos de dados, pode usar o módulo mysql_db .
tasks:
- name: backup db server
mysql_db: name={{item}} state=dump target=/{{item}}-{{ansible_date_time.iso8601}}.sql
with_items: db_name
então você pode usar o módulo buscar ou sincronizar para transferir esses arquivos para a máquina local. Com o fetch
módulo, não é possível baixar vários arquivos, pois ele não suporta caracteres curinga e download de pastas. Criar um arquivo tar é uma opção para superar esse problema.
Você também pode usar scp
para baixar arquivos de backup da instância remota.
- name: Downloading backup files from remote machine
command: scp -i {{ansible_ssh_private_key_file}} {{remote_user}}@{{host}}:/backup/* {{backup_folder}}
delegate_to: 127.0.0.1