我正在使用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
答案 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将不再运行。