作为一个概念证明,我正在尝试创建可能是最简单的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
我读过的各种文档和网页都说文件的路径可以是绝对的,也可以是相对于剧本的 . 我试过两次都没有成功 .
我的文件应该放在何处以将其复制到目标服务器?
谢谢!
1 回答
以我的方式发现错误 . 该剧本和文件位于运行ansible-playbook命令的帐户无法访问的目录中 . 因此,虽然ansible-playbook进程可以读取playbook(我从文件所在的目录中调用命令),但进程无法读取文件所在的目录,因此无法找到该文件 .
解决方案是将playbook和文件移动到一个目录中,该目录可以由运行ansible的帐户读取 . 之后,剧本的工作方式与预期完全一致!