
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 fetch
el 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 scp
para 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