Copia de seguridad de un servidor con Ansible?

10

Ansible parece ser una herramienta de automatización bastante eficiente para implementar y actualizar aplicaciones en servidores.

  • ¿Es posible usarlo para hacer una copia de seguridad de un servidor (Linux) también? ¿Es una buena práctica hacerlo?

  • En caso afirmativo, ¿hay algún módulo / ejemplo sobre cómo hacerlo? Por ejemplo, supongamos que quiero crear una exportación de una base de datos y copiarla en otra máquina, ¿cómo automatizar esta tarea con Ansible?

Nicolas C
fuente

Respuestas:

9

Es posible hacer una copia de seguridad del servidor usando Ansible. Soy un nuevo usuario de Ansible, así que no estoy seguro de si es una buena práctica o no.

Si desea hacer una copia de seguridad de las bases de datos puede usar el 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

entonces puede usar el módulo de captura o sincronización para transferir esos archivos a la máquina local. Con el fetchmódulo no es posible descargar varios archivos, ya que no admite caracteres comodín ni descargas de carpetas. Crear un archivo tar es una opción para superar este problema.

También puede usar scppara descargar archivos de copia de seguridad desde una instancia 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
fuente