作为概念证明,我正在尝试创建可能是有史以来最简单的 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/