Можно сделать резервную копию сервера с помощью 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