我的广告资源文件中有三个主机
[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复制到其他人。是否有任何方法可以将文件从一个特定的服务器复制到其他服务器。
我正在尝试这样但却无法实现。
- hosts: all
sudo: yes
tasks:
- name: copy files
local_action: command rsync -a /home/ubuntu/test.txt {{ master }}:///home/ubuntu/test.txt
答案 0 :(得分:4)
一种选择是使用fetch
模块将文件从主节点复制到本地节点,然后通常使用copy
模块将该文件分发到其他节点。类似的东西:
- 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