和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”