1:ansbile命令:
《1》:ansible 显示ansible的所有命令,(注:按两次tab键即可)
注:只要使用的两个:ansible ansible-playbook
a: ansible
<1>:ansible 是生产环境中的使用非常频繁的命令之一,只要在以下场景应用:
- 非固化需求
- 临时一次性操作
- 二次开发接口调用
非固化需求是指临时性的维护,如查看crushlinux服务器组的磁盘使用情况,复制一个文教到其他机器等,类似这些没有规律的,临时需要做的任务,我们称为非固化需求,临时一次性操作
语法:ansible <host-pattern> [options]
可用选项如下:
- -v(--verbose):输出详细的执行过程信息,可以得到执行过程的所有信息
- -I PATH(--inventory=PATH):指定inventory信息,默认为/etc/ansible/hosts
- -f NUM(--forks=NUM):并发线程数,默认为5线程
- --private-key=PRIVATE_KEY_FILE :指定密钥文件
- -m NAME,--moudle-name=NAME:指定执行时使用的模块
- -M DIRECTORY (-module-path=DIRECTORY):指定模块的存放路径,默认为/use/share/ansible,也可以通过ANSIBLE_LIBRARY 设定默认目录。
- -a ARGUMENTS(--args=ARGUMENTS):指定模块参数
- -u USERNAME (--user=USERNAME):指定远程主机USERNAME 运行命令
- -l subset (--limit=SUBSET):限定运行主机
- --list-hosts :列出符合条件的主机列表,不执行任何命令
主机和主机组主要事项:
《2》:ansible all -m ping ping所有主机
《3》:ansible all:\!client1 -m ping 除了client1,剩下的所有
《4》:ansbile webserver --list-host 列出webserver组下的所有主机列表
《5》:ansible webserver -m command -a "df -Th" 批量显示webserver的磁盘使用情况
《6》:ansible webserver -a "df -Th | wc -l" (注:因为这个模块是不支持shell语句的,所有他是报错的
《7》:ansbile webserver -a "df -Th > disk.txt" (注:跟上述一样,将df -Th 的结果输出到disk.txt文件里)
《8》:ansible webserver -m raw -a "df -Th | wc -l" (注:因为raw模块是支持shell的,所以他的执行是没有问题的
《9》:ansible webserver -m shell -a "df -Th |wc -l“(注:跟上述差不多)
b: ansible-doc
ansible-doc 用来查询ansible模块文档的说明,类似于man命令,针对每个模块都有详细的用法说明及应用案例介绍:
语法:ansible-doc [options][module…..]
《1》:ansible-doc -l 查看总帮助
《2》:ansible-doc -s shell 查看shell模块的帮助
c:ansible-playbook (使用的最大,主要用来执行剧本的)
ansible-playbook 是日常应用中使用频率最高的命令,类似于Linux系统中sh或source命令,用来执行系列任务,其工作机制是,通过读取编写好的playbook文件实现集中处理任务,ansible-playbook任务后跟yml或者yaml格式的playbook文件,playbook文件存放要执行的任务代码,命令使用方式如下:
语法:ansible-playbook playbook.yml
playbook.yml需要之前编译好,建议写playbook.yml文件的绝对路径
b:ansible-console
ansible-console是ansible为用户提供得一款交互式工具,类似于Windows中的cmd以及Linux中的shell,用户可以在ansible-console虚拟出来的终端上做出像shell一样使用ansible内置的各种命令,这为习惯于使用shell交互式的用户提供了良好的体验,在终端输入ansibke-console命令后显示如下:
《1》:ansible-console