
アンシブルサーバー上でアプリケーションを展開および更新するための非常に効率的な自動化ツールのようです。
これを (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
自分の質問に答えて、リモート サーバーからファイルをダウンロードできるフェッチ モジュールを見つけました。モジュールの取得