和command模块相同,参数也相同。
- command,shell,raw,script模块同属于commands类,都是用来执行命令,不同的是:
- command模块执行的命令中不能包含:|,<,>,& 符号。
- shell模块:可以执行远程服务器上的shell脚本文件,也支持 管道符等,脚本需要使用绝对路径。
- raw模块和shell模块相同,可以执行任意命令就像在本机一样,相当于ssh之直接执行Linux命令,不会进入到ansible的模块子系统中。
- script模块,用来执行一个shell脚本,其实将管理端的shell脚本copy到被管理端上然后执行,相当于 scp + shell 的组合。(需要在脚本所在目录下执行)
官方建议使用command模块,如果需求不满足,可以使用raw模块
例子
ansible core -m shell -a “cat /data/logs/100/2020-05-20/corelog | grep s_c_activity”