2017-06-23 4 views
1

リモートマシンでtarアーカイブをダウンロードして抽出しようとしていますが、存在しない場合はリモートターゲットを作成する必要があります。しかし、それは起こっていません。潜在的なアーカイブ解除モジュールを使用してディレクトリパスを作成できませんか?

ERROR: destination directory doesn't exist

MYCODE:

- 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 

注: *ルートとしてプレーを実行しています。アーカイブを解除モジュールを使用している間、事前

+0

なぜディレクトリを作成する必要があると思いますか? – techraf

答えて

2

おかげで、DESTパスが既存のディレクトリへのパスであるべきであり、作成は、ファイルではなくブールへのパスでなければなりません。

- 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 
+0

こんにちは@deepak私はdestを指定しました:/ optは/ opt/tomcatを作成します。しかし、それはtomcatディレクトリを作成していません。/optに直接ファイルを解凍しています –

+0

答えに記載されているように、destは既存のパスでなければなりません。アーカイブを解除する前にディレクトリを作成する必要があります。回答を更新 – tux

+0

はい@deepak ..私はあなたのことを完全に理解しています。だから、私は "Linux"に常に存在する/ optとして "dest"を変更したのです。それから私は作成する:/ opt/tomcatと書いた。あなたの答えに応じて、それはtomcatディレクトリを作成する必要があります。右?? –

関連する問題