我有四个不同的主机。 host1,host2,host3,host4
我正在尝试更新这些主机上的以下文件。
host1
/var/www/foo1
host2
/var/www/foo1
/var/tmp/foo1
host3
/var/www/foo1
host4
/var/tmp/foo1
我能够用不同的库存文件和组变量编写两个不同的剧本来完成这项任务。
广告资源文件1
[group_foo1]
host1
host2
host3
群组变量
文件名:group_foo1
path:/var/www
广告资源文件2
[group_foo2]
host2
host4
群组变量
文件名:group_foo2
path:/var/tmp
任务
name: copy the file
copy: src=foo1 dest={{path}}
我想使用单一剧本来完成这项任务。
怎么做?
答案 0 :(得分:2)
您应该使用synchronize module:
# Synchronize two directories on one remote host.
synchronize:
src: /first/absolute/path
dest: /second/absolute/path
delegate_to: "{{ inventory_hostname }}"
此外,您可以尝试在所有主机上迭代任务:
with_items: groups['all']