Ansible を使用してサーバーをバックアップしますか?

Ansible を使用してサーバーをバックアップしますか?

アンシブルサーバー上でアプリケーションを展開および更新するための非常に効率的な自動化ツールのようです。

  • これを (Linux) サーバーのバックアップにも使用できますか? そうするのは良い習慣ですか?

  • はいの場合、それを実行する方法に関するモジュールや例はありますか? たとえば、データベースのエクスポートを作成して別のマシンにコピーしたい場合、このタスクを Ansible で自動化するにはどうすればよいでしょうか?

答え1

Ansible を使用してサーバーをバックアップすることは可能です。私は Ansible の新規ユーザーなので、それが良い方法かどうかはわかりません。

データベースをバックアップしたい場合は、phpMySQLデータベースモジュール。

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

答え2

自分の質問に答えて、リモート サーバーからファイルをダウンロードできるフェッチ モジュールを見つけました。モジュールの取得

関連情報