ansibleでファイルをコピーする場合、fileモジュールとcopyモジュールを使いますが、 ローカルからリモートへのコピーだけがサポートされており、 リモートからリモートへファイルをコピーするモジュールがありません。 こういうときはしょうがないのでシェルで直接cpコマンドを叩きます。 単純にcpコマンドを叩くだけだと、タスク実行の度にcpが走ってしまい冪等性が担保されません。 冪等性を担保するためにshellモジュールのcreatesオプションを使います。 shellモジュールはcreatesオプションに指定したファイルが存在する場合、そのコマンドを実行しません。 これで冪等性が担保されます。(commandモジュールでも使えるみたいです) shellモジュール 例えば、リモートにあるファイル/tmp/hoge.confを、リモートの/etc/hoge/hoge.confにコピーする場
![[ansible] リモートにあるファイルをリモートにコピーする](https://cdn-ak-scissors.b.st-hatena.com/image/square/863a523698307dc09e85574c7ed117994d4bc036/height=288;version=1;width=512/http%3A%2F%2Fokame.me%2Fimages%2Flogo_ogp.png)