使用Ansible备份服务器?


10

Ansible似乎是在服务器上部署和更新应用程序的非常有效的自动化工具。

  • 是否可以使用它来备份(Linux)服务器?这样做是一种好习惯吗?

  • 如果是,是否有任何有关如何执行此操作的模块/示例?例如,假设我要创建数据库导出并将其复制到另一台计算机上,如何使用Ansible自动化此任务?

Answers:


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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.