Sauvegarder un serveur en utilisant Ansible?

10

Ansible semble être un outil d'automatisation assez efficace pour déployer et mettre à jour des applications sur des serveurs.

  • Est-il également possible de l'utiliser pour sauvegarder un serveur (Linux)? Est-ce une bonne pratique de le faire?

  • Si oui, existe-t-il un module / exemple sur la façon de le faire? Par exemple, disons que je veux créer une exportation d'une base de données et la copier sur une autre machine, comment automatiser cette tâche avec Ansible?

Nicolas C
la source

Réponses:

9

Il est possible de sauvegarder le serveur en utilisant Ansible. Je suis un nouvel utilisateur d'Ansible, donc je ne sais pas si c'est une bonne pratique ou non.

Si vous souhaitez sauvegarder des bases de données, vous pouvez utiliser le module mysql_db .

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

vous pouvez ensuite utiliser le module d' extraction ou de synchronisation pour transférer ces fichiers sur la machine locale. Avec le fetchmodule, il n'est pas possible de télécharger plusieurs fichiers car il ne prend pas en charge les caractères génériques et le téléchargement de dossiers. La création d'un fichier tar est une option pour surmonter ce problème.

Vous pouvez également utiliser scppour télécharger des fichiers de sauvegarde à partir d'une instance distante.

- 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
la source