ansible获取命令帮助信息、常用模块之command模块、shell模块

385 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第27天,点击查看活动详情

1.获取ansible命令帮助

1.1.查看某个模块的帮助信息

[root@ansible ~]# ansible-doc 模块名 

1.2.列出所有模块

[root@ansible ~]# ansible-doc -l	

1.3.列出指定模块的所有选项

[root@ansible ~]# ansible-doc yum -s

模块在ansible中是指需要快速执行一条命令,并且不需要保存的命令,对于负载的命令则用playbook。

ansible颜色提示说明

黄色:对远程节点进行相应修改
绿色:对远程节点不进行相应修改,或者只是对远程节点信息进行查看
红色:操作命令有一场
紫色:表示对命令执行发出警告信息会给一下建议

command模块配置

command模块只能执行普通的命令,高级shell命令需要使用shell模块来执行

1.command命令模块

实例1:查看主机名

[root@ansible ~]# ansible web_clust -m command -a "hostname" -f 3
192.168.81.240 | CHANGED | rc=0 >>
backup
192.168.81.230 | CHANGED | rc=0 >>
nfs
192.168.81.220 | CHANGED | rc=0 >>
web

-f =forks 结果返回的数量,比如一次对2台机器进行操作

实例2:创建用户

[root@ansible ~]# ansible web_clust -m command -a "useradd jiangxiaol"
192.168.81.230 | CHANGED | rc=0 >>

192.168.81.220 | CHANGED | rc=0 >>

192.168.81.180 | CHANGED | rc=0 >>

1.shell模块

实例1:查看磁盘空间

[root@ansible ~]# ansible web_clust -m shell -a "df -hT | grep '/$'"
192.168.81.230 | CHANGED | rc=0 >>
/dev/mapper/centos-root xfs        47G  8.2G   39G   18% /
192.168.81.240 | CHANGED | rc=0 >>
/dev/mapper/centos-root xfs        47G  5.5G   42G   12% /
192.168.81.220 | CHANGED | rc=0 >>
/dev/mapper/centos-root xfs        47G   15G   33G   30% /

实例2:创建用户并设置密码

[root@ansible ~]# ansible web_clust -m shell -a "echo '123' | passwd --stdin jyi"
192.168.81.240 | FAILED | rc=252 >>
更改用户 jyi 的密码 。
passwd:所有的身份验证令牌已经成功更新。
192.168.81.230 | FAILED | rc=252 >>
更改用户 jyi 的密码 。
passwd:所有的身份验证令牌已经成功更新。
192.168.81.220 | CHANGED | rc=0 >>
更改用户 jyi 的密码 。
passwd:所有的身份验证令牌已经成功更新。

2.command和shell的区别

​ command只支持单条命令

​ shell支持管道这种组合命令