gpt4 book ai didi

ansible - 使用 Ansible 将文件从一台服务器复制到另一台服务器

转载 作者:行者123 更新时间:2023-12-02 12:00:09 25 4
gpt4 key购买 nike

我想使用 Ansible 将文件从一台服务器复制到另一台服务器。下面是示例

Server A ------> Server B
Server C ------> Server D

我在服务器 A 上有一个文件,并且特别想将该文件复制到服务器 B 上,服务器 C 到 D 上也是如此。将文件保存到目标的文件夹是相同的。我可以为 2 或 3 个主机做这件事。但是我怎样才能动态创建 100 个节点来复制特定的单个文件并仅分配给所需的服务器。

最佳答案

您可以使用 fetch 的组合和 copy来做到这一点。

假设库存的结构如下:

[source-servers]
ServerA
ServerC

[dest-servers]
ServerB source-server=ServerA
ServerD source-server=ServerB

然后运行以下fetch任务:

- name: fetch file from source servers
hosts: source-servers
fetch:
src: /path/to/file
dest: /tmp

将 ServerA 上的文件 /path/to/file 复制到 /tmp/ServerA/path/to/file/下的 Ansible 控制主机ServerB 上的 path/to/file/tmp/ServerB/path/to/file

下的 Ansible 控制主机

从这里开始,我们需要确保每个 dest-servers 都定义了一个变量,该变量表示它在主机变量下与单独主机中的哪个服务器配对vars 文件或 in line in the inventory如上所述。

然后我们可以使用此复制任务将正确的文件放在正确的dest-server上:

- name: copy the paired files to the right servers
hosts: dest-servers
copy:
src: "/tmp/{{ source-server }}/path/to/file"
dest: /path/to/dest

关于ansible - 使用 Ansible 将文件从一台服务器复制到另一台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33837679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com