Simple Ansible playbook:将文件复制到目标服务器的任务文件的位置?

Mic*_*l J 5 ansible

作为一个概念证明,我正在尝试创建可能是最简单的ansible playbook:将单个文件从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: could not find src=/root/Michael/file.txt

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

我的文件应该放在何处将其复制到目标服务器?

谢谢!

Mic*_*l J 8

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

解决方案是将playbook和文件移动到一个目录中,该目录可以由运行ansible的帐户读取.之后,剧本的工作方式与预期完全一致!