我需要从远程主机复制文件'/etc/resolv.cof'并将其复制到多个远程主机上。
my hosts:
Ansible
ubuntu1-4
我想将文件从ubuntu1复制到ubuntu2,ubuntu3和ubuntu4 我尝试同步模块,但我不能/不能在ubuntu1-4上使用rsync作为恶魔
除了在Ansible和Ansible上复制到ubuntu2-4之外还有更好的方法吗?
答案 0 :(得分:10)
如果您只是在谈论单个文件,则不需要synchronize
模块。您可以使用fetch
模块从远程主机获取文件。在本地系统上获得该文件后,您只需使用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配置的一部分进行维护,并将其分发到所有主机,而不是将其从一个远程复制到其他主机
答案 1 :(得分:0)
如果您要将文件从远程复制到ansible控制节点-我们可以使用 ansible fetch 模块。 这适用于Linux和Windows计算机。