Ansible: ディレクトリの内容を別のディレクトリにコピーする 質問する

Ansible: ディレクトリの内容を別のディレクトリにコピーする 質問する

dist ディレクトリの内容を nginx ディレクトリにコピーしようとしています。

- name: copy html file
  copy: src=/home/vagrant/dist/ dest=/usr/share/nginx/html/

しかし、プレイブックを実行するとエラーが発生します:

TASK [NGINX : copy html file] **************************************************
fatal: [172.16.8.200]: FAILED! => {"changed": false, "failed": true, "msg": "attempted to take checksum of directory:/home/vagrant/dist/"}

内部に別のディレクトリとファイルがあるディレクトリをコピーするにはどうすればよいでしょうか?

ベストアンサー1

ディレクトリの内容を別のディレクトリにコピーするには、ansiblecopyモジュールを使用できます。

- name: Copy content of directory 'files'
  copy:
    src: files/    # note the '/' <-- !!!
    dest: /tmp/files/

からsrcパラメータに関するドキュメント:

(src!) パスがディレクトリの場合、再帰的にコピーされます...
...パスが「/」で終わる場合、そのディレクトリ内の内容のみが宛先にコピーされます。……
「/」で終わらない場合は、ディレクトリ自体とその内容がすべてコピーされます。

おすすめ記事