首页 > 解决方案 > 无法使用 Ansible Tower 在远程节点上访问和执行脚本

问题描述

我有类似的问题,但我的错误消息说:

{
"changed": false,
"msg": "Could not find or access 'woshutdown.sh'
Searched in: /var/ansible/tmp/awx_29146_42q4g5dt/project/qadeployment/files/woshutdown.sh
/var/ansible/tmp/awx_29146_42q4g5dt/project/qadeployment/woshutdown.sh
/var/ansible/tmp/awx_29146_42q4g5dt/project/qadeployment/files/woshutdown.sh
/var/ansible/tmp/awx_29146_42q4g5dt/project/qadeployment/woshutdown.sh on the Ansible Controller.
If you are using a module and expect the file to exist on the remote, see the remote_src option"
}

我的脚本是调用 woshutdown.sh,它意味着调用另一个脚本来关闭它所在的远程服务器。我在脚本的开头有 shabang,但我得到了那个信息。

这是我的剧本: 上述任务的剧本

这是脚本所在的位置: 远程服务器上的脚本位置

我试过脚本模块我试过 CMD 模块和 sh 命令。请帮忙!!

标签: shellautomationansibleansible-towerremote-host

解决方案


当前目录永远不会放在$PATHshell 中,因为它存在严重的安全风险。您需要指定脚本的完全限定路径,在您的情况下,由于chdir:is just ./

- name: shutdown etc etc
  command: ./woshutdown.sh
  args:
    chdir: /methode/common/etc-etc-etc

推荐阅读