Ansible:如何将远程文件复制到远程

时间:2018-01-05 12:06:55

标签: ansible

我需要从远程主机复制文件'/etc/resolv.cof'并将其复制到多个远程主机上。

my hosts:
Ansible
ubuntu1-4

我想将文件从ubuntu1复制到ubuntu2,ubuntu3和ubuntu4 我尝试同步模块,但我不能/不能在ubuntu1-4上使用rsync作为恶魔

除了在Ansible和Ansible上复制到ubuntu2-4之外还有更好的方法吗?

2 个答案:

答案 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计算机。