要使用Ansible通过rsync将本地文件推送到目标服务器,需要确保以下几点:
确保目标服务器上已经安装了rsync。
在Ansible的主机上,确保已经安装了rsync和sshpass。可以使用以下命令安装:
$ sudo apt-get install rsync sshpass
在Ansible的主机上,创建一个inventory文件(比如inventory.ini),并添加目标服务器的IP地址或主机名。例如:
[servers]
server1 ansible_host=192.168.1.100
创建一个Ansible playbook文件(比如playbook.yml),并使用rsync模块来推送文件。例如:
---
- name: Push local file to server
hosts: servers
gather_facts: false
tasks:
- name: Push file using rsync
become: true
synchronize:
src: /path/to/local/file
dest: /path/to/destination/on/server
这个playbook会将本地文件/path/to/local/file
推送到目标服务器的/path/to/destination/on/server
目录。
运行Ansible playbook来执行推送操作。例如:
$ ansible-playbook -i inventory.ini playbook.yml
这将会使用rsync模块将本地文件推送到目标服务器。
注意:在执行以上步骤时,确保Ansible的主机可以通过SSH连接到目标服务器,并且具有足够的权限来进行文件推送操作。