1、ansible 命令集
/usr/bin/ansible Ansibe AD-Hoc 临时命令执行工具,常用于临时命令的执行
/usr/bin/ansible-doc Ansible 模块功能查看工具
/usr/bin/ansible-galaxy 下载/上传优秀代码或Roles模块 的官网平台,基于网络的
/usr/bin/ansible-playbook Ansible 定制自动化的任务集编排工具
/usr/bin/ansible-pull Ansible远程执行命令的工具,拉取配置而非推送配置(使用较少,海量机器时使用,对运维的架构能力要求较高)
/usr/bin/ansible-vault Ansible 文件加密工具
/usr/bin/ansible-console Ansible基于Linux Consoble界面可与用户交互的命令执行工具
其中,我们比较常用的是 /usr/bin/ansible 和 /usr/bin/ansible-playbook 。
2、ansible-doc 命令
ansible-doc 命令常用于获取模块信息及其使用帮助,一般用法如下:
- ansible-doc -l #获取全部模块的信息
- ansible-doc -s MOD_NAME #获取指定模块的使用帮助
(1)命令说明
ansible [主机或组] -m [模块名] -a ['模块参数'] [ansible参数]
主机和组,是在/etc/ansible/hosts 里进行指定的部分,当然动态Inventory 使用的是脚本从外部应用里获取的主机;
模块名,可以通过ansible-doc -l 查看目前安装的模块,默认不指定时,使用的是command模块,具体可以查看/etc/ansible/ansible.cfg 的“#module_name = command ” 部分,默认模块可以在该配置文件中进行修改;
模块参数,可以通过 “ansible-doc -s 模块名” 查看具体的用法及后面的参数;
ansible参数,可以通过ansible命令的帮助信息里查看到,这里有很多参数可以供选择,如是否需要输入密码、是否sudo等。
(2)后台执行
当命令执行时间比较长时,也可以放到后台执行,使用-B、-P参数,如下:
ansible all -B 3600 -a "/usr/bin/long_running_operation --do-stuff" # 后台执行命令3600s,-B 表示后台执行的时间
ansible all -m async_status -a "jid=123456789" # 检查任务的状态
ansible all -B 1800 -P 60 -a "/usr/bin/long_running_operation --do-stuff" # 后台执行命令最大时间是1800s即30分钟,-P 每60s检查下状态,默认15s
常用参数
-m:要执行的模块,默认为command
-a:指定模块的参数
-u:ssh连接的用户名,默认用root,ansible.cfg中可以配置
-b,--become:变成那个用户身份,不提示密码
-k:提示输入ssh登录密码,当使用密码验证的时候用
-s:sudo运行
-U:sudo到哪个用户,默认为root
-K:提示输入sudo密码,当不是NOPASSWD模式时使用
-C:只是测试一下会改变什么内容,不会真正去执行
-c:连接类型(default=smart)
-f:fork多少进程并发处理,默认为5个
-i:指定hosts文件路径,默认default=/etc/ansible/hosts
-I:指定pattern,对已匹配的主机中再过滤一次
-list-host:只打印有哪些主机会执行这个命令,不会实际执行
-M:要执行的模块路径,默认为/usr/share/ansible
-o:压缩输出,摘要输出
--private-key:私钥路径
-T:ssh连接超时时间,默认是10秒
-t:日志输出到该目录,日志文件名以主机命名
-v:显示详细日志
常用命令
ansible server1 -m setup #产看指定主机server1上的facts变量信息
ansible * -m setup #查看指定的所有主机上的facts变量信息
ansible-doc -l:列出有哪些可用的模块,按q退出
ansible-doc -l | wc -l:列出有多少个可用的模块
ansible-doc -l | grep user:列出与user有关的模块
ansible-doc user:查看user模块的帮助文档,按q退出。也可以在最后一行输入/passwd,来过滤与passwd有关的内容
ansible test -a 'df -h' 在test组执行df -h命令
网友评论