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,因此这应该是最可靠的方法。