Ansible - Unarchive模块覆盖

时间:2017-11-22 14:14:33

标签: ansible

我正在使用ansible和使用剧本。 在这个剧本中,我正在执行下载(从Web URL)并将文件解压缩到主机(使用unarchive模块),之后我将一些文件从控制机器复制到主机(使用复制模块)。

发生的事情是每次我使用unarchive模块时,虽然每个文件都相同,但是ansible会覆盖主机中的文件。 如果内容相同,我怎样才能使它不会覆盖?

我的剧本:

import urllib
url = "http://www.football-data.co.uk/mmz4281/1718/File.csv"
get = urllib.urlretrieve(url , "X:\Data\File.csv")
get

1 个答案:

答案 0 :(得分:6)

添加creates选项,引用未归档的地方。

c.f。文档页面here(根据您使用的内容查看版本。)

e.g:

- unarchive:
    remote_src : yes
    src        : "{{ url }}"
    dest       : "{{ install_dir }}/"
    creates    : "{{ flagFile }}" 

如果unarchive使用名为bar的文件创建/ tmp / foo目录,则flagFile可以是/ tmp / foo / bar,如果已经存在,则unarchive将不再运行。