用ansible 执行如下shell 命令,显示启动成功,但是我到目标主机查看却是没有启动(有点不理解为什么)
然后我直接到目标主机手动执行,可以启动,有点怪,为什么ansible 不行
然后我在运维主机使用service 启动,居然启动成功
而用shell 模块,控制机显示成功,但是目标主机上还是没有启动
用ansible 执行如下shell 命令,显示启动成功,但是我到目标主机查看却是没有启动(有点不理解为什么)
然后我直接到目标主机手动执行,可以启动,有点怪,为什么ansible 不行
然后我在运维主机使用service 启动,居然启动成功
而用shell 模块,控制机显示成功,但是目标主机上还是没有启动
如果你使用 Ansible 执行 shell 命令,但是却没有在目标主机上看到期望的结果,那么可能是因为以下原因之一:
- name: run a command as root
shell: /path/to/command
become: yes
另外,如果你使用的是 ansible 的 command 模块,而不是 shell 模块,你可以使用 executable 变量来指定执行命令的 shell。例如:
- name: run a command as root
command: /path/to/command
become: yes
executable: /bin/bash
还有,如果你使用的是 ansible 的 shell 模块,你可以使用 args 变量来传递参数给 shell。例如:
- name: run a command as root
shell: /path/to/command
args:
chdir: /path/to/working/directory
executable: /bin/bash
become: yes
希望这些建议能帮助你解决你的问题。