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

Hal*_*l K 9 ansible

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

my hosts:
Ansible
ubuntu1-4
Run Code Online (Sandbox Code Playgroud)

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

有没有比在Ansible和Ansible上复制到ubuntu2-4更好的方法?

lar*_*sks 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
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但更好的解决方案是将适当的维护resolv.conf作为ansible配置的一部分并将其分发给所有主机,而不是将其从一个远程复制到其他主机.

  • 这不是"远程遥控"的答案.这是"远程主机到远程"的答案.它可能为OP工作,但他或她提出了错误的问题. (4认同)