将文件从指定主机复制到ansible中的其他主机

将文件从指定主机复制到ansible中的其他主机,ansible,ansible-playbook,Ansible,Ansible Playbook,我的清单文件中有三台主机可用 [controller] 1.1.1.1 2.2.2.2 3.3.3.3 我在group_var文件夹中有一个变量,它指定了主节点 master=1.1.1.1 sql.conf可在所有3台控制器主机的主目录(/home/ubuntu/sql.conf)中找到 现在,我需要将文件(test.txt)从master复制到其他文件。ansible中是否有任何方法可以将文件从一个特定服务器复制到其他服务器 我正在这样努力,但是没有成功 - hosts: all s

我的清单文件中有三台主机可用

[controller]
1.1.1.1
2.2.2.2
3.3.3.3
我在group_var文件夹中有一个变量,它指定了主节点

master=1.1.1.1
sql.conf可在所有3台控制器主机的主目录(/home/ubuntu/sql.conf)中找到

现在,我需要将文件(test.txt)从master复制到其他文件。ansible中是否有任何方法可以将文件从一个特定服务器复制到其他服务器

我正在这样努力,但是没有成功

- hosts: all
  sudo: yes
  tasks:
    - name: copy files
      local_action: command rsync -a /home/ubuntu/test.txt {{ master }}:///home/ubuntu/test.txt

一个选项是使用
获取
模块将文件从主节点复制到本地节点,然后正常使用
复制
模块将该文件分发到其他节点。比如:

- hosts: master
  tasks:
    - fetch: 
        src: /path/to/myfile.txt
        dest: tmp/

- hosts: all:!master
  tasks:
    - copy:
        src: tmp/master/myfile.txt
        dest: /path/to/myfile.txt

一个选项是使用
获取
模块将文件从主节点复制到本地节点,然后正常使用
复制
模块将该文件分发到其他节点。比如:

- hosts: master
  tasks:
    - fetch: 
        src: /path/to/myfile.txt
        dest: tmp/

- hosts: all:!master
  tasks:
    - copy:
        src: tmp/master/myfile.txt
        dest: /path/to/myfile.txt

“…但无法实现”。怎么搞的?是否有错误消息?你要去哪里?您正在从本地操作运行rsync;我以为
test.txt
在主机上。您的rsync命令似乎试图将
test.txt
从本地主机复制到主服务器。test.txt文件存在于所有3个节点中。我想将它从主节点复制到其他2个节点。请忽略我的尝试。我不确定它是否会起作用“……但无法实现”。怎么搞的?是否有错误消息?你要去哪里?您正在从本地操作运行rsync;我以为
test.txt
在主机上。您的rsync命令似乎试图将
test.txt
从本地主机复制到主服务器。test.txt文件存在于所有3个节点中。我想将它从主节点复制到其他2个节点。请忽略我的尝试。我不确定它是否会起作用