Ansible unarchive モジュールを使用してディレクトリ パスを作成できませんか? 質問する

Ansible unarchive モジュールを使用してディレクトリ パスを作成できませんか? 質問する

リモート マシンに tar アーカイブをダウンロードして解凍しようとしていますが、リモートの宛先が存在しない場合は作成する必要があります。しかし、それが実行されません。

エラー: 宛先ディレクトリが存在しません

マイコード:

- unarchive:
    src: http://apache.mirrors.ionfish.org/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
    dest: /opt/tomcat/
    creates: yes
    remote_src: True 

注意: * プレイを root として実行します。

前もって感謝します

ベストアンサー1

unarchive モジュールを使用する場合、dest パスは既存のディレクトリへのパスである必要があり、creates はブール値ではなくファイルへのパスである必要があります。

- name: ensure tomcat directory exists
  file:
    path: /opt/tomcat
    state: directory

- unarchive: 
    src: http://apache.mirrors.ionfish.org/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
    dest: /opt/tomcat/  # already existing path
    creates: /opt/tomcat/config  # some path to make sure that the archive has already been unpacked
    remote_src: yes

おすすめ記事