Tan*_*har 1 ansible ansible-playbook
我想使用Ansible将文件从一个服务器复制到另一个服务器.以下是示例
Server A ------> Server B
Server C ------> Server D
Run Code Online (Sandbox Code Playgroud)
我在服务器A上有一个文件,特别是要将该文件复制到服务器B,服务器C到D也是如此.将文件保存到目的地的文件夹是相同的.我可以为2或3台主机做这件事.但是我怎么能动态创建让我们说100个节点来复制特定的单个文件只分配给所需的服务器.
假设库存结构如下:
[source-servers]
ServerA
ServerC
[dest-servers]
ServerB source-server=ServerA
ServerD source-server=ServerB
Run Code Online (Sandbox Code Playgroud)
然后运行以下fetch任务:
- name: fetch file from source servers
hosts: source-servers
fetch:
src: /path/to/file
dest: /tmp
Run Code Online (Sandbox Code Playgroud)
将/path/to/fileServerA上的文件复制到ServerB 下/tmp/ServerA/path/to/file和/path/to/fileAnsible控制主机下的Ansible控制主机上/tmp/ServerB/path/to/file
从这里开始,我们需要确保每个dest-servers变量都定义了一个变量,该变量在单独的主机变量文件中或者如上所述在库存中排在主变量下的哪个服务器.
然后我们可以dest-server使用此copy任务将右侧文件放在右侧:
- name: copy the paired files to the right servers
hosts: dest-servers
copy:
src: "/tmp/{{ source-server }}/path/to/file"
dest: /path/to/dest
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6802 次 |
| 最近记录: |