Резервное копирование сервера с помощью Ansible?

6281
Nicolas C

Ansible, похоже, является довольно эффективным инструментом автоматизации для развертывания и обновления приложений на серверах.

  • Возможно ли использовать его для резервного копирования (Linux) сервера? Это хорошая практика для этого?

  • Если да, есть ли модуль / пример о том, как это сделать? Например, допустим, я хочу создать экспорт базы данных и скопировать его на другой компьютер. Как автоматизировать эту задачу с помощью Ansible?

9

2 ответа на вопрос

8
Aniket

Можно сделать резервную копию сервера с помощью Ansible. Я новый пользователь Ansible, поэтому я не уверен, что это хорошая практика или нет.

Если вы хотите сделать резервную копию базы данных, вы можете использовать модуль mysql_db .

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

затем вы можете использовать модуль извлечения или синхронизации для передачи этих файлов на локальный компьютер. С fetchмодулем невозможно загрузить несколько файлов, так как он не поддерживает символы подстановки и загрузку папок. Создание одного файла tar - это вариант для преодоления этой проблемы.

Вы также можете использовать scpдля загрузки файлов резервных копий с удаленного экземпляра.

- name: Downloading backup files from remote machine command: scp -i {} {}@{}:/backup/* {} delegate_to: 127.0.0.1 
1
Nicolas C

Отвечая на мой собственный вопрос, я нашел модуль fetch, который позволяет загружать файлы с удаленного сервера: http://docs.ansible.com/ansible/fetch_module.html

Похожие вопросы