¿Hacer una copia de seguridad de un servidor usando Ansible?

¿Hacer una copia de seguridad de un servidor usando Ansible?

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

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

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

Respuesta1

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

Si desea realizar una copia de seguridad de las bases de datos, puede utilizarmysql_dbmódulo.

tasks:
  - name: backup db server
    mysql_db: name={{item}} state=dump target=/{{item}}-{{ansible_date_time.iso8601}}.sql
    with_items: db_name

entonces puedes usar buscar o sincronizarmódulopara transferir esos archivos a la máquina local. Con fetchel módulo no es posible descargar varios archivos ya que no admite caracteres comodín ni descarga de carpetas. Crear un archivo tar es una opción para superar este problema.

También puede utilizarlo 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

Respuesta2

Respondiendo a mi propia pregunta, encontré el módulo de recuperación que permite descargar archivos desde el servidor remoto:http://docs.ansible.com/ansible/fetch_module.html

información relacionada