ansible-doc和命令模块
一、ansible-doc命令
-
格式为 ansible 主机名 -m 模块 -a "模块参数"
-
查看模块参数
[devops@master ansible]$ ansible-doc yum
# 搜索EXAMPLE,可以找到一些案例
- 查看模块的参数
[devops@master ansible]$ ansible-doc -s yum
- -k 提示输入ssh密码,而不是通过密钥登录的
二、命令模块
1、shell模块
-
最常用的命令模块,命令都能被识别到
-
还有一些高级的特性
-
chdir 选项可以切换一个目录
-
creates=/opt/file.txt touch tmp.txt 如果这个文件存在,后面命令不执行
-
removes 当文件不存在的时候,命令不执行
[devops@master ansible]$ ansible all -m shell -a "ls /mnt"
node2 | CHANGED | rc=0 >>
hgfs
node1 | CHANGED | rc=0 >>
hgfs
2、command模块
-
有一些特殊符号不能被识别
-
> 和 | 和 & 这些符合不能被识别到
[devops@master ansible]$ ansible all -m command -a "ls /root"
node1 | CHANGED | rc=0 >>
anaconda-ks.cfg
node2 | CHANGED | rc=0 >>
anaconda-ks.cfg
3、raw模块
- 不支持shell的高级特性,但是和shell模块一样的使用
4、script模块
-
读取的是这个脚本的命令,并不是传输这个文件到其他的节点上面,而且不需要+x权限,只是读取这些命令而已
-
它是将主控节点的脚本放在被控节点上面运行,但是不会被传输过去
# 就能在其他的被控节点上面运行这些命令了
[devops@master ansible]$ cat touch.sh
ls /tmp
[devops@master ansible]$ ansible all -m script -a "touch.sh"

浙公网安备 33010602011771号