【发布时间】:2016-02-16 04:51:31
【问题描述】:
我试图在我的 ansible 游戏中避免列出“命令”模块,但似乎没有关于 tar/gz 的 ansible 文档,并且同步模块似乎......不完整。
我想压缩一个大目录的压缩包,然后将其同步到另一台主机。即使使用“命令”似乎对我也不起作用:
"warnings": ["Consider using unarchive module rather than running tar"]}
[WARNING]: Consider using unarchive module rather than running tar
PLAY RECAP *********************************************************************
ctarlctarl : ok=2 changed=0 unreachable=0 failed=1
“unarchive”模块似乎需要一个已经压缩/存档的目录,并且似乎不是我想要的解决方案。
相关但未答复:ansible playbook unable to continue as the `tar` fails due to `file change as we read`
(编辑)显示任务,因为它被问到我是否记得 z。 =)
- name: tar ball app dir, exclude conf files
command: "tar -zcvf {{ item.code_dir }}.tar.gz --exclude '*config*' ."
args:
chdir: "{{ apps_home }}/{{ item.code_dir }}"
with_items:
- "{{ processes }}"
【问题讨论】:
-
这些 ansible 的命令警告相当垃圾。他们只是检查命令中的第一个单词,如果它与列表匹配,它会抱怨。它没有考虑到您可以使用
tar命令执行更多操作而不是取消归档...您可以通过以下方式避免警告:- command: `which tar` ... -
但是那个警告只是一个警告。失败来自其他方面。
-
你记得 -z 对吗?
标签: ansible tar ansible-playbook gzip