Możliwe jest utworzenie kopii zapasowej serwera za pomocą Ansible. Jestem nowym użytkownikiem Ansible, więc nie jestem pewien, czy to dobra praktyka, czy nie.
Jeśli chcesz wykonać kopię zapasową baz danych, możesz użyć modułu mysql_db .
tasks:
- name: backup db server
mysql_db: name={{item}} state=dump target=/{{item}}-{{ansible_date_time.iso8601}}.sql
with_items: db_name
następnie możesz użyć modułu pobierania lub synchronizacji do przesyłania tych plików na komputer lokalny. W fetch
module nie można pobierać wielu plików, ponieważ nie obsługuje ono symboli wieloznacznych i pobierania folderów. Utworzenie jednego pliku tar jest rozwiązaniem tego problemu.
Możesz także użyć scp
do pobrania plików kopii zapasowej ze zdalnej instancji.
- 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