- hosts: host1
remote_user: root
tasks:
- synchronize:
src: /etc/httpd
dest: /mytestfile
我收到以下错误。有人能帮忙吗
PLAY [host1] *******************************************************************
TASK [Gathering Facts] *********************************************************
ok: [13.71.122.117]
TASK [synchronize] *************************************************************
fatal: [13.71.122.117]: FAILED! => {"changed": false, "failed": true, "msg": "Failed to find required executable rsync in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin"}
to retry, use: --limit @/ansible/hai_yaml.retry
PLAY RECAP *********************************************************************
13.71.122.117 : ok=1 changed=0 unreachable=0 failed=1
答案1
您可以在节点上自动安装基础软件包。这里分享相同的 apt 模块定义。
- name: "Installing Rsync"
apt: >
pkg={{ item }}
state=latest
update_cache=yes
cache_valid_time=3600
with_items:
- rsync
Yum 模块定义如下所示。
- name: install the latest version of rsync
yum:
name: rsync
state: latest
答案2
我可能有点晚了。但在这里添加答案,希望它能帮助别人。
当测试由于“未找到 rsync”而失败时,我相信它谈论的是 ansible 控制器上的 rsync,而不是 ansible 目标。
所以如果你重复此任务但将其作为本地操作,那么 rsync 将存在于两端:
- name: install rsync on the ansible controller
connection: local
package:
name: rsync
state: present
答案3
您可能需要安装 rsync。
在 Centos 上:
yum install -y rsync
在 Ubuntu 上:
apt install -y rsync