在Rundeck中运行本地Ansible Playbook提示文件找不到的问题求助
解决WSL2中Rundeck调用Ansible Playbook找不到文件的问题
先验证路径与基础存在性
- 直接在WSL终端执行命令,确认文件真实存在:
如果终端返回文件不存在,说明路径拼写错误或文件被误删;如果能看到文件信息,再进行后续排查。ls -l /home/hannan/wslNodeRedProjects/ansible/myplaybook1.yml
检查Rundeck运行用户的权限
- 确认Rundeck服务的运行用户(默认是
rundeck),切换到该用户验证文件访问权限:
如果报错权限不足,调整文件或目录的访问权限:sudo -u rundeck ls -l /home/hannan/wslNodeRedProjects/ansible/myplaybook1.yml# 给其他用户添加读权限 chmod o+r /home/hannan/wslNodeRedProjects/ansible/myplaybook1.yml # 给目录添加读和执行权限(让Rundeck能遍历到文件) chmod o+rx /home/hannan/wslNodeRedProjects/ansible/
排查Rundeck的路径与环境配置
- 确认Rundeck作业中使用的是完整绝对路径,避免相对路径混淆(Rundeck执行任务时有独立工作目录)。
- 验证Rundeck调用的Ansible二进制路径是否正确,先在终端获取Ansible路径:
然后在Rundeck的Ansible插件配置(或which ansible-playbook/etc/rundeck/ansible.cfg文件)中,将ansible_command指向上述路径,避免因找不到Ansible命令导致的间接报错。
检查WSL挂载与文件系统问题
- 如果Playbook存储在Windows本地磁盘(而非WSL原生文件系统),确认WSL的挂载是否正常:Windows的C盘对应WSL的
/mnt/c/路径,检查挂载目录的访问权限,避免因Windows侧权限限制导致WSL内无法访问。
内容的提问来源于stack exchange,提问作者Syed Abdul Hannan
相关产品推荐
相关产品推荐

