You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible synchronize模块拉取远程目录失败:无此文件或目录

解决方案

问题根源

从错误日志里的路径/home/mysourceuser//'/web/playbooks/automation/misc可以看出,rsync被传递了带多余单引号的路径——这是因为你在playbook的synchronize模块src参数里手动用单引号包裹了变量:

src: "'{{ item }}'"

这种写法会让Ansible把单引号当作路径的一部分传递给rsync,而远程主机上根本不存在带单引号的目录结构,直接导致"无此文件或目录"的报错。

修复步骤

修改playbook中的synchronize模块配置,去掉src参数里多余的单引号即可:

- name: Copying from "{{ inventory_hostname }}" to this ansible server.
  tags: validate
  synchronize:
    src: "{{ item }}"
    dest: "{{ playbook_dir }}/tmpfiles/{{ Latest_Build_Number }}/"
    mode: pull
    copy_links: yes
  with_items:
    - "{{ source_file_new.splitlines() }}"

验证操作

修改后重新执行playbook:

ansible-playbook /web/playbooks/automation/misc/filecopy/copyfiles.yml -e "source_file_new='$source_file_new'" -e "Latest_Build_Number='500'"

此时Ansible会正确传递原始路径给rsync,不会添加多余的引号,rsync就能正常识别远程主机上的/web/playbooks/automation/misc/filecopyprod目录并完成拉取操作。

内容的提问来源于stack exchange,提问作者Ashar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:45:41