我需要复制文件/etc/resolv.conf
从远程主机并将其复制到多个远程主机上。
my hosts:
Ansible
ubuntu1-4
我想从以下位置复制此文件ubuntu1
to ubuntu2
, ubuntu3
and ubuntu4
我尝试过synchronize
模块但我不能/不想使用rsync
作为一个恶魔ubuntu1-4
.
有没有比在 Ansible 上复制并从 Ansible 复制到 Ansible 更好的方法?ubuntu2
till 4
?
如果您只是谈论单个文件,则不需要synchronize
模块。您可以使用以下命令从远程主机获取文件fetch http://docs.ansible.com/ansible/latest/fetch_module.html模块。一旦您的本地系统上有该文件,您就可以使用copy
模块将其分发到其他主机。
就像是:
- hosts: ubuntu1
tasks:
- fetch:
src: /etc/resolv.conf
dest: ./resolv.conf
flat: true
- hosts: all:!ubuntu1
tasks:
- copy:
src: ./resolv.conf
dest: /etc/resolv.conf
虽然这可行,但更好的解决方案是保持适当的resolv.conf
作为 ansible 配置的一部分并将其分发到all主机,而不是将其从一个远程复制到其他远程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)