AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1149698
Accepted
Prade
Prade
Asked: 2023-12-13 10:39:02 +0800 CST2023-12-13 10:39:02 +0800 CST 2023-12-13 10:39:02 +0800 CST

在 Ansible 自动化平台中执行同步模块导致找不到文件

  • 772

最近我们切换到 Ansible 自动化平台 2.3。我的执行环境是ee-supported-rhel8,其中包含 Ansible.posix.synchronize 模块。

当我执行同步模块时,它失败并显示:

“src:/tmp/memo.txt 没有这样的文件”。

它在 Tower 1.2 中运行没有任何问题。

    - Name: Install rsync on the Target
      package:
        name: rsync
        state: present
    
    - Name: Synchronize file from local to remote   
      synchronize:
         src: /tmp/memo.txt
         dest: /temp/test

错误

“命令”:"/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --out-format='<<CHANGED>>%i %n%L' /tmp/memo.txt root@xyz1234:/tmp/test",

"msg": "警告:已将 'xyz1234,148.168.65.73' (ECDSA) 永久添加到已知主机列表中。 \r\n警告!\n 此系统...有关其他信息,请参阅当地企业的员工隐私声明或联系您的本地隐私官。\nrsync:link_stat“/tmp/memo.txt”失败:没有此类文件或目录 (2)\nrsync 错误:main.c 处的某些文件/属性未传输(请参阅以前的错误)(代码 23) (1189) [发件人=3.1.3]\n",

我将源文件保留在控制节点和执行节点中,但它仍然失败。

我还将源代码保存在单独的远程服务器中。这也是失败的。它抛出错误,源和目标都不能位于远程。

请建议。

ansible
  • 2 2 个回答
  • 76 Views

2 个回答

  • Voted
  1. Vladimir Botka
    2023-12-13T15:27:11+08:002023-12-13T15:27:11+08:00

    错误说:

    rsync:link_stat“/tmp/memo.txt”失败:没有这样的文件或目录

    简短回答:控制器上缺少文件/tmp/memo.txt 。


    详细信息:第一个示例展示了如何使用该模块

    - name: Synchronization of src on the control machine to dest on the remote hosts
      ansible.posix.synchronize:
        src: some/relative/path
        dest: /some/absolute/path
    

    例如下面的播放

    - hosts: test_01
    
      tasks:
    
        - package:
            name: rsync
    
        - synchronize:
            src: /tmp/memo.txt
            dest: /tmp/test
    

    将控制器上的文件/tmp/memo.txt同步到远程主机test_01上的文件/tmp/test。给定控制器上的文件

    shell> cat /tmp/memo.txt
    test rsync
    

    确保文件已同步到远程主机

    shell> ssh admin@test_01 cat /tmp/test
    test rsync
    

    可以通过从控制器中删除文件/tmp/memo.txt来重现该错误:

    致命:[test_01]:失败!=>更改= false cmd:/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFile=/ dev/null' --rsync-path='sudo -u root rsync' --out-format='<>%i %n%L' /tmp/memo.txt admin@test_01:/tmp/test 消息: | - 警告:将“test_01”(ED25519) 永久添加到已知主机列表中。 rsync:[sender] link_stat“/tmp/memo.txt”失败:没有这样的文件或目录(2)rsync错误:某些文件/属性未传输(请参阅以前的错误)(代码23)在main.c(1338) [发件人=3.2.7] rc:23

    • 3
  2. Best Answer
    Prade
    2023-12-14T09:57:14+08:002023-12-14T09:57:14+08:00

    我找到了解决方案。

    AAP 使用作为容器的执行环境。如果容器不知道 /tmp/memo.txt ,任务将失败。

    如果要同步的文件是包含 playbook 的项目的一部分,则它存在于容器内。如果要同步的文件/文件夹驻留在其他地方,您需要将该任务委派给您要同步的文件/文件夹所在的源系统。

    谢谢您的帮助

    • 0

相关问题

  • Ansible:将字符串转换为字典

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve