【モジュールの使い方】Copy
機能
Ansibleがインストールされている端末のローカル環境に存在する
ファイルやディレクトリをhostsで指定したサーバへ転送することが出来る。
使用例
- 転送元(クライアントローカル側):/root/index.conf
- 転送先(指定したサーバ側):/root/index.conf
- 所有ユーザ、所有グループ、権限:root,root,0664
- hosts: group1 tasks: - name: copy test copy: src: /root/index.conf dest: /root/index.conf owner: root group: root mode: 0664
主なパラメータ
パラメータ | 必須 | デフォルト値 | 選択肢 | 説明 |
---|---|---|---|---|
src | ローカル環境のファイル/ディレクトリパス(転送元パス) ディレクトリの場合 ・パスが"/"で終わる場合ディレクトリの中身のみ転送する ・パスの最後が"/"でない場合ディレクトリごと転送する。 |
|||
dest | ● | hostsで指定したサーバのパス(転送先パス) srcがディレクトリの場合、destもディレクトにする必要がある |
||
owner | 転送後のファイル/ディレクトリの所有ユーザ | |||
group | 転送後のファイル/ディレクトリの所有グループ | |||
mode | 転送後のファイル/ディレクトリの権限 例:"0664"、"u=rw,g=r,o=r" |
|||
force | yes | no yes |
yes:destが存在する場合、内容が異なればsrcで置換 no:destが存在しない場合のみsrcを転送 |
全パラメータ
パラメータ | 必須 | デフォルト値 | 説明 |
---|---|---|---|
attributes | ファイルの属性を指定 | ||
backup | no | タイムスタンプを含むバックアップファイルを作成 何らかの理由で誤って元ファイルを壊した場合に元のファイルを復元できる。 |
|
checksum | 転送中のファイルのSHA1チェックサム ファイルのコピーが成功したことを検証するために使用されます。 これが指定されない場合、ansibleはsrcファイルのローカルで計算されたチェックサムを使用します。 |
||
content | src の代わりに使用すると、ファイルの内容を指定された値に直接設定します。dest がファイルの場合にのみ機能し、ファイルが存在しない場合は作成します。高度なフォーマットの場合、または content 変数が含まれている場合は、ansible.builtin.templateモジュールを使用します。 |
||
decrypt | yes | このオプションは、valutを使用したソースファイルの自動復号化を制御します。 | |
dest | ● | hostsで指定したサーバのパス(転送先パス) srcがディレクトリの場合、destもディレクトにする必要がある |
|
directory_mode | 再帰コピーを行うときは、ディレクトリのモードを設定します。 これが設定されてない場合は、システムのデフォルトが使用されます。 このモードは、新しく作成されたディレクトリのみ設定され、既存のディレクトリには影響しません。 |
||
follow | no | このフラグは、宛先にファイルシステムリンクが存在する場合は、それに従う必要があることを示します。 | |
force | yes | yes:destが存在する場合、内容が異なればsrcで置換 no:destが存在しない場合のみsrcを転送 |
|
group | 転送後のファイル/ディレクトリの所有グループ | ||
local_follow | yes | このフラグは、ソースツリーにファイルシステムリンクが存在する場合は、それに従う必要があることを示します。 | |
mode | 転送後のファイル/ディレクトリの権限 例:"0664"、"u=rw,g=r,o=r" |
||
owner | 転送後のファイル/ディレクトリの所有ユーザ | ||
remote_src | no | src を転送する必要があるか、または既にリモートに存在するかどうかに影響を与えるno の場合、コントローラノードでsrc を検索しますyes の場合、管理対象(リモート)ノードでsrc を検索しますversion2.8以降、 remote_src は再帰的コピーをサポートしますversion2.6以降、 remote_src はmode=preserve でのみ機能しますremote_src=yes の場合、ファイルの自動復号化は機能しません。 |
|
selevel | SELinuxファイルシステムオブジェクトコンテキストのlevel 部分これはMLS/MCS属性であり、 range としても扱われる_default に設定すると、使用可能な場合はポリシーのlevel 部分が使用されます。 |
||
serole | SELinuxファイルシステムオブジェクトコンテキストのrole 部分_default に設定すると、使用可能な場合はポリシーのrole 部分が使用されます。 |
||
setype | SELinuxファイルシステムオブジェクトコンテキストのtype 部分_default に設定すると、使用可能な場合はポリシーのtype 部分が使用されます。 | |
||
seuser | SELinuxファイルシステムオブジェクトコンテキストのuser 部分これはMLS/MCS属性であり、 system としても扱われる_default に設定すると、使用可能な場合はポリシーのuser 部分が使用されます。 |
||
src | ローカル環境のファイル/ディレクトリパス(転送元パス) ディレクトリの場合 ・パスが"/"で終わる場合ディレクトリの中身のみ転送する ・パスの最後が"/"でない場合ディレクトリごと転送する。 |
||
unsafe_writes | no | ターゲットファイルシステムオブジェクトからのデータの破損や一貫性のない取り組みを防ぐために、アトミック操作を使用するタイミングに影響を与えます デフォルトでは、このモジュールにアトミック操作を使用して、データの破損やターゲットファイルシステムオブジェクトからの一貫性のない読み取りを防ぎますが、これを防ぐ方法でシステムが構成されているのか、単に壊れている場合があります。 例1:Dockerがマウントしたファイルシステムオブジェクトです。 これは、コンテナ内からアトミックに更新することは出来ず、安全でない方法でのみ書き込みことが出来ます。 このオプションにより、Ansibleはアトミック操作が失敗し時にファイルシステムオブジェクトを更新する安全でない方法にフォールバックできます。(ただし、Ansibleに安全でない書き込みを強制することはありません) 重要!安全でない書き込みは競合状態の影響を受けやすく、データの破損につながる可能性があります。 |
|
validate | 更新されたファイルを最終的な宛先にコピーする前に実行する検証コマンド 検証には一時ファイルパスが使用され、次の例のように存在する必要がある %s を介して流されます。また、コマンドは安全に渡されるため、展開やパイプなどのシェル機能は機能しません このオプションが提供するものよりも複雑な検証を処理する方法の例については、「複雑な構成の検証」 を参照してください。 |
アトミック操作
他からの割り込みがない状態にすること
戻り値
Key | Type | Returned | 説明 | 例 |
---|---|---|---|---|
backup_file | String | 変更されて、backup=yesの場合 | 作成されたバックアップファイルの名前 | /path/to/file.txt.2015-02-12@22:09~ |
checksum | String | 成功した場合 | コピー実行後のファイルのSHA!チェックサム | 6e642bb8dd5c2e027bf21dd923337cbb4214f827 |
dest | String | 成功した場合 | 宛先ファイル/パス | /path/to/file.txt |
gid | String | 成功した場合 | 実行後のファイルのグループID | 100 |
group | String | 成功した場合 | 実行後のファイルのグループ | httpd |
md5sum | String | サポートされている場合 | コピー実行後のファイルのMD5チェックサム | 2a5aeecc61dc98c4d780b14b330e3282 |
mode | String | 成功した場合 | 実行後のターゲットの権限 | 0644 |
owner | String | 成功した場合 | 実行後のファイルの所有者 | httpd |
size | String | 成功した場合 | 実行後のターゲットのサイズ | 1220 |
src | String | 変更された場合 | ターゲットマシンでのコピーに使用されるソースファイル | /home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source |
state | String | 成功した場合 | 実行後のターゲットの状態 | file |
uid | String | 成功した場合 | 実行後のファイルの所有者ID | 100 |
ドキュメント
【Ansible Documentation】Module Copy