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