Ansible Copy Examples Ansible Copy Module

Ansible copy moduleはAnsibleのファイルモジュールの中の1つのモジュールである。 Ansible copyモジュールは、Ansibleマシンからリモートサーバにファイルをコピーするために使用されます。 Ansible copyモジュールで様々なことができますので、Ansible copyモジュールで何ができるか見てみましょう。

Copy the file with force yes-Ansible Copy Module

tasks:- name: Copy file to a remote machine copy: src: ~/devops.txt dest: /tmp

This example devops.txt file in the ansible machine will copy to the destination location in the remote server.but if the same file (with same name) already exists in destination location in the remote server, it will replace with the file from ansible machine.txt. このとき、そのファイルがリモートの場所に存在するかどうかは考慮されません。

  • Ansible Fetch module tutorial

by default, force is yes

tasks:- name: Copy file to a remote machine copy: src: ~/devops.txt dest: /tmp force: yes

So both above codes are work like the same.つまり、上記のコードは両方とも同じように動作します。 forceについて言及する:はい、またはforceを削除する:はい、それはあなた次第です。

Copy the file with force no-Ansible Copy Module

tasks:- name: Copy file to a remote machine copy: src: ~/devops.txt dest: /tmp force: no

ここでは、強制はしません。ファイルがインストール先にすでに存在する場合は、ファイルを置き換えません。

Ansibleマシンからリモートサーバーにディレクトリをコピーする-Ansible Copy Examples

ここで、scriptsというディレクトリがあると仮定します。 このディレクトリには、file1 と file2 という 2 つのファイルと Linux ディレクトリがあり、Linux ディレクトリには file3 と file4 という 2 つのファイルがあります。

scripts├── file1├── file2└── linux ├── file3 ├── file4

ここでタスクは、Linux ディレクトリをリモートサーバーに送信またはコピーする必要があることです。

tasks:- name: Copy a directory to a remote machine copy: src: /User/scripts/linux dest: /tmp

上記のコードを使用すると、LinuxディレクトリをAnsibleマシンからリモートサーバーの場所に送信またはコピーできます。

src:/user/scripts/linux の最後に (/) がないため、LinuxディレクトリがAnsibleマシンからリモートへコピーされる理由を見てください。

├── tmp└── linux ├── file3 ├── file4

src の最後に (/) を記述すると、Linux ディレクトリのファイル (file3 と file4) がリモートへコピーされます。

see src:/user/scripts/linux/

tasks:- name: Copy files to a remote machine copy: src: /User/scripts/linux/ dest: /tmp

the output in the remote tmp directory

└── tmp ├── file3 ├── file4

source end で、 (/) を記述すると Linux ディレクトリ内のファイルだけがリモートへコピーされることに注意してください。

パーミッションを指定してファイルをコピーする-Ansible Copy Examples

- copy: src: /srd/myfiles/abc.conf dest: /etc/abc.conf owner: abc group: abc mode: 0644

上記のコードを使用すると、異なるパーミッションでファイルをコピーすることが可能です。 ここでは、0644と同等のシンボリックモードを使用してパーミッションに言及しています。

Copy Content to Remote server-Ansible Copy Examples

copy:content: "Hello devops"dest: /tmp/devops.txt

このモジュールを使用すると、コンテンツを書き込み、そのコンテンツをリモートサーバーにコピーすることができます。 ファイルがリモートロケーションに存在しない場合、その devops.txt ファイルを作成し、そのコンテンツを devops.txt に書き込みます。 devops.txtはファイル名であり、任意のファイル名を付けることができる。 ansible copy モジュールを使用すると、コンテンツを含むファイルを作成できます。

ansible copy についてもっと知りたい場合は、ansible documentation を参照してください。

コメントする