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それはワイルドカード文字とフォルダのダウンロードをサポートしていないように、モジュールには、複数のファイルをダウンロードすることはできません。1つの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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.