Backup de um servidor usando Ansible?

10

O Ansible parece ser uma ferramenta de automação bastante eficiente para implantar e atualizar aplicativos nos servidores.

  • É possível usá-lo para fazer backup de um servidor (Linux) também? É uma boa prática fazer isso?

  • Se sim, existe algum módulo / exemplo de como fazer isso? Por exemplo, digamos que eu queira criar uma exportação de um banco de dados e copiá-lo em outra máquina, como automatizar essa tarefa com o Ansible?

Nicolas C
fonte

Respostas:

9

É 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 fetchmó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 scppara 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
Aniket
fonte