一、Ad-Hoc 介绍
1.了解下什么是Ad-Hoc ?
Ad-Hoc 其实就是基于Ansible 运行的命令集,有些类似终端中敲入的shell命令,Ansible提供了两种运行完成任务的方式,一种是Ansible Ad-Hoc,一种是Ansible Playbook, 而Ad-Hoc 主要是相对与Ansible Playbook 来讲的,有点类似于shell和shell 脚本之间的关系。
2.Ad-Hoc 主要有那些作用?
Ad-Hoc 主要完成一些简单的场景,不需要太多的操作步骤,基本每执行一次Ad-Hoc命令便可以完成的任务,比如我们需要检查我每个服务器启动那些端口,这个时候我们不要写很多操作,只需要通过一条Ad-Hoc的命令完成;
ansible all -m shell -a 'netstat -tnlp'
执行命令行结果集
二、Ad-Hoc 命令模块
上面我们了解了什么是Ad-Hoc的命令,下面我们看下Ad-Hoc 到底有那些命令模块
1.查看当前支持的模块(目前我使用的是Ansible 2.4.2.0)
ansible-doc -l
目前不完全统计Ansible在2.4版本支持1370多个模块,而在Ansible 2.5 版本支持1600多个,详情可以参考官网帮助信息(http://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html)
2.知道模块名后可以ansible-doc -s 查看该模块有哪些参数可以使用;
ansible-doc -s 模块名
3.Ansible 常用模块
Ansible 自带了很多模块,相对于我们正常情况是我们只需要了解常用模块即可。
1 ping模块 2 raw模块 3 yum模块 4 pip模块 5 synchronize模块 6 template模块 7 copy模块 8 user 模块 9 group模块 10 service 模块 11 get_url 模块 12 file模块 13 unarchive模块 14 command 模块 15 shell 模块 16 cron模块