Fazer backup de um servidor usando Ansible?

Fazer backup de um servidor usando Ansible?

Ansibleparece ser uma ferramenta de automação bastante eficiente para implantar e atualizar aplicativos em 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 Ansible?

Responder1

É possível fazer backup do servidor usando 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, você pode usarmysql_dbmódulo.

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 buscar ou sincronizarmódulopara transferir esses arquivos para a máquina local. Com fetcho módulo não é possível baixar vários arquivos, pois 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 de uma 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

Responder2

Respondendo à minha própria pergunta, encontrei o módulo fetch que permite baixar arquivos do servidor remoto:http://docs.ansible.com/ansible/fetch_module.html

informação relacionada