使用 Ansible 備份伺服器?

使用 Ansible 備份伺服器?

安西布爾似乎是一個非常有效的自動化工具,用於在伺服器上部署和更新應用程式。

  • 是否也可以用它來備份(Linux)伺服器?這樣做是個好的做法嗎?

  • 如果是,是否有任何關於如何執行此操作的模組/範例?例如,假設我想建立資料庫匯出並將其複製到另一台機器上,如何使用 Ansible 自動執行此任務?

答案1

可以使用 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

答案2

回答我自己的問題,我找到了允許從遠端伺服器下載檔案的 fetch 模組:http://docs.ansible.com/ansible/fetch_module.html

相關內容