Резервне копіювання сервера за допомогою Ansible?


10

Здається, Ansible є досить ефективним інструментом автоматизації для розгортання та оновлення програм на серверах.

  • Чи можна використовувати його і для резервного копіювання (Linux) сервера? Чи добре це робити?

  • Якщо так, чи є модуль / приклад того, як це зробити? Наприклад, скажімо, я хочу створити експорт бази даних і скопіювати її на іншу машину, як автоматизувати це завдання за допомогою Ansible?

Відповіді:


9

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.