Можна створити резервну копію сервера за допомогою Ansible. Я новий користувач Ansible, тому я не впевнений, хороша це практика чи ні.
Якщо ви хочете створити резервну копію баз даних, ви можете використовувати модуль mysql_db .
tasks:
- name: backup db server
mysql_db: name={{item}} state=dump target=/{{item}}-{{ansible_date_time.iso8601}}.sql
with_items: db_name
тоді ви можете скористатися модулем синхронізації або синхронізації для передачі цих файлів на локальну машину. За допомогою fetch
модуля неможливо завантажувати декілька файлів, оскільки він не підтримує символи підстановки та завантаження папок. Створення одного файлу tar - це варіант подолання цієї проблеми.
Ви також можете використовувати scp
для завантаження резервних файлів з віддаленого примірника.
- 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