ansible - 简单的 Ansible 剧本 : Location of file for task to copy file to target servers?

标签 ansible

作为概念证明,我正在尝试创建可能是有史以来最简单的 ansible 剧本:将单个文件从 ansible 服务器复制到服务器场。

为了完整起见,ansible 已正确安装。 ping 模块效果很好!哈哈

我的 POC 手册如下:

---
- hosts: Staging
  tasks:
    - name: Copy the file
      copy: src=/root/Michael/file.txt dest=/tmp/file.txt

当我运行命令时...

ansible-playbook book.yml

我得到以下输出(摘要)...

msg:找不到 src=/root/Michael/file.txt

我读过的各种文档和网页都说文件的路径可以是绝对路径,也可以是相对于剧本的路径。我都尝试过,但都没有成功。

我的文件应该放在哪里才能将其复制到目标服务器?

谢谢!

最佳答案

发现我的方法有错误。 playbook 和文件位于运行 ansible-playbook 命令的帐户无法访问的目录中。因此,虽然 ansible-playbook 进程可以读取剧本(我从文件所在的目录调用命令),但该进程无法读取文件所在的目录,因此无法找到该文件。

解决方案是将剧本和文件移动到运行 ansible 的帐户可以读取的目录中。之后,剧本完全按照预期工作了!

关于ansible - 简单的 Ansible 剧本 : Location of file for task to copy file to target servers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18965763/

相关文章:

ansible - 为 playbook 中的每个 Ansible 任务提供描述

node.js - 如何使用 ansible 永久设置 NODE_ENV?

ansible - 循环查找文件并删除它们

linux - 没有显示Elasticsearch集群

vim - 如何使用 ansible 配置 vim vundle 插件?

ansible - 有没有办法在 Ansible 2.9 中将十进制字符串转换为十六进制字符串?

ssh - Ansible无法通过ssh连接到主机,但ssh命令有效

templates - 如何将 jinja if-else 逻辑与 Ansible inventory 一起使用

ansible - 针对不可用的主机运行 ansible playbook(停机/离线)

ansible - 如何获得以逗号分隔的名字列表?