要使用Ansible脚本从多个服务器复制文件,可以使用Ansible的copy模块。下面是一个示例解决方法:
copy_files.yml
的Ansible playbook文件,并定义主机清单hosts
和需要复制的文件路径src_path
和目标路径dest_path
。---
- name: Copy files from multiple servers
hosts: servers
become: true
tasks:
- name: Copy files
copy:
src: "{{ src_path }}"
dest: "{{ dest_path }}"
hosts
,并包含两个服务器。[servers]
server1 ansible_host=192.168.1.101
server2 ansible_host=192.168.1.102
ansible-playbook -i hosts copy_files.yml --extra-vars "src_path=/path/to/source dest_path=/path/to/destination"
在上述命令中,使用-i
参数指定主机清单文件的路径,--extra-vars
参数用于传递变量给Ansible playbook。你可以根据实际情况修改src_path
和dest_path
的值。
注意:在运行Ansible playbook之前,确保已经在控制节点上配置了与目标服务器的SSH连接,并且可以使用SSH密钥或用户名/密码进行身份验证。