Ansible:ファイル、ディレクトリ、またはスクリプトをローカルホストからリモートホストにコピーする方法は?

公開: 2019-02-24

Ansibleを使用してローカルホストからリモートホストにファイルをコピーする方法

IT管​​理部門の一部として、人々はlots of scriptsとコマンドラインツールを扱っています。 何千ものリモートホストにファイルやスクリプトをコピーするという日常的な状況に直面していると思います。

IT部門の人々は、 thousands of hostsごとにログインしてスクリプトを手動で実行するだけではありません。 そして、それがAnsibleが登場する理由です。 Ansibleは、無料で利用できる非常に強力なIT管理ソリューションです。

このチュートリアルでは、Ansibleを使用してファイルをリモートホストにコピーする手順について説明します。

私たちは何をするつもりですか?

ファイルcrunchify.txtファイルを場所/opt/ashah/からリモートホスト192.66.129.83の宛先ディレクトリ/opt/ashah/にコピーします。

ステップ1

LinuxUbuntuまたはmacOSにAnsibleをインストールします。 チュートリアルに従って、詳細な手順を確認してください。

ステップ2

このチュートリアルの基本とファイルの場所を理解しましょう。

  • 構成ファイルの場所:/etc/ansible/ansible.cfg
  • スクリプトファイル:/opt/ashah/crunchify.yml
  • ホストファイル:/ opt / ashah / hosts
  • コピーするファイル:/opt/ashah/crunchify.txt(テストファイル)

ステップ-3

crunchify.ymlファイルの内容。

ステップ-4

ファイルコンテンツhostsます。 必ずIPアドレスをリモートホストに変更してください。

ステップ-5

以下の内容でファイルcrunchify.txtを作成します。

ステップ-6

次のコマンドを実行して、ファイルをリモートホストにコピーします。

  • Command :ansible-playbook -b -vvv -u root crunchify.yml -kkkk –extra-vars“ crunchify-group” -i hosts

すべてのパラメータを理解しましょう:

  • -b:becomeを使用して操作を実行します(—becomeと同じ)。
  • -vvv:冗長モード(詳細については-vvv、接続デバッグを有効にする場合は-vvvv)。
  • -u:このユーザーとして接続します(デフォルト=なし)。
  • -kkkk:接続パスワードを要求します。
  • –extra-vars:ファイル名の前に@が付いている場合は、追加の変数をkey = valueまたはYAML / JSONとして設定します。
  • -i:インベントリホストパスまたはカンマ区切りのホストリストを指定します。

それでおしまい。 ファイルが正常にコピーされました。

ファイルが新しいリモートホストにコピーされているかどうかを確認するにはどうすればよいですか?

リモートホストにログインして場所/opt/ashahを確認するだけで、ファイルcrunchify.txtが表示されます。

ディレクトリの内容を別のディレクトリにコピーするにはどうすればよいですか?

crunchify.ymlファイルのsrcdescの値を変更するだけです。 これが更新されたcrunchify.ymlファイルです。

/opt/ashah/フォルダーの下にあるすべてのファイルがリモートホストにコピーされます。

Ansibleを使用してリモートロケーションにファイルを対処する質問がある場合はお知らせください。