ansible 错误:在路径中找不到所需的可执行 rsync:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin”}

ansible 错误:在路径中找不到所需的可执行 rsync:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin”}
- 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

相关内容