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

Ansible:如何将文件从远程复制到远程,ansible,Ansible,我需要从远程主机复制文件/etc/resolv.conf,并将其复制到多个远程主机上 my hosts: Ansible ubuntu1-4 我想将此文件从ubuntu1复制到ubuntu2,ubuntu3和ubuntu4 我尝试了synchronize模块,但我不能/不想在ubuntu1-4上使用rsync作为恶魔 有没有比将其复制到Ansible上以及从Ansible复制到ubuntu2直到4更好的方法?如果您只谈论一个文件,您不需要同步模块。您可以使用该模块从远程主机抓取文件。在本地系统

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

my hosts:
Ansible
ubuntu1-4
我想将此文件从
ubuntu1
复制到
ubuntu2
ubuntu3
ubuntu4
我尝试了
synchronize
模块,但我不能/不想在
ubuntu1-4
上使用
rsync
作为恶魔


有没有比将其复制到Ansible上以及从Ansible复制到
ubuntu2
直到
4
更好的方法?

如果您只谈论一个文件,您不需要
同步
模块。您可以使用该模块从远程主机抓取文件。在本地系统上保存文件后,您可以使用
复制
模块将其分发到其他主机

比如:

- 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配置的一部分进行维护,并将其分发到所有主机,而不是将其从一个远程复制到其他主机。

以防,您想将文件从远程复制到ansible控制节点-我们可以使用ansible fetch模块。
这对Linux和windows机器都有效。

Duplicate是的,我知道这个链接,但它们使用同步。这并没有改变这样做的事实,即这是一种方法。Ansible未写入以在目标计算机之间复制文件。同步模块在Ansible模块中已经是一个例外(违反了概念)。 即使假设有人编写了另一个具有与
同步
相同功能的问题,答案也应该发布在另一个问题下,而不是这里。这一个应该关闭,但我今天的关闭投票已经用完了。这一个的标题对ansible“remote to remote”具有误导性,因为在这种情况下,ansible“remote to remote”在同一台主机上。因此,如果一个新的用户正在搜索“复制文件远程到远程”,他们将得到这一点,当他们真的在“任务::复制:SRC/:HOME/RESVI.CONFESTED:/ETC/RESVI.CONF ReleTysSRC:是的”请考虑将标题更改为“ANNECTION:如何在远程主机之间复制文件”或“远程文件”“Ansible:如何在远程主机之间同步文件”@MichallKo它如何满足您指定的要求“有比在Ansible上复制并从Ansible复制到ubuntu2-4更好的方法吗?”?这不是“远程到远程”的答案。这是“远程到主机到远程”的答案“。它可能对OP有效,但他或她问了错误的问题。谢谢,这正是我想要的,我更喜欢ansible进行复制,而不是打开sshhosts@NicholasMartinez这仍然是远程到远程的,但通过控制器。真正的远程到远程拷贝需要在远程主机之间设置ssh访问,这是不可取的,特别是如果仅出于此目的就需要这样做的话。实际上,可以通过特定端口进行复制(例如,使用rsync或netcat),但公司环境通常具有限制端口的ACL,因此这应该是最可靠的方法。