问题描述
我有一个类似的问题,但是我的错误消息说:
{
"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,但我收到了该消息。
这是我的剧本: Playbook for the above task
这是脚本所在的位置: Location of Script on remote server
我尝试了脚本模块,我尝试了CMD模块和sh命令。请帮忙!
解决方法
当前目录永远不会放置在Shell的$PATH
中,因为它存在严重的安全风险。您需要指定脚本的标准路径,在您的情况下,由于chdir:
仅是./
:
- name: shutdown etc etc
command: ./woshutdown.sh
args:
chdir: /methode/common/etc-etc-etc