有时操作者希望只对资产中的⼀部分服务器进⾏操作,⽽不是资产中所有服务器。此时可以使⽤ Ansible 的资产选择器 PATTERN。
1.基本语法格式
ansible PATTERN -i inventory -m module -a argument
2.案例
a.选择一台或多台服务器
ansible <ip> -i inventory.ini --list-hosts#单个服务器
ansible <ip>,<ip> -i inventory.ini --list-hosts#多个服务器
b.选择一组服务器
ansible <组名> -i inventory.ini --list-hosts
c.使用*匹配
ansible <ip> -i inventory.ini --lis-hosts
#ip例:3.3.3.1*,就会匹配3.3.3IP段中以1开头的所有服务器,例如3.3.3.15,3.3.3,16
d.使用逻辑匹配
以web_servers和dbdb_servers为例–
两个组内的所有主机(并集):
ansible 'web_servers:dbdb_servers' -i inventory.ini --list-hosts
两个组内的共有主机(交集):
ansible 'web_servers:&dbdb_servers' -i inventory.ini --list-hosts
在web_servers中,不在dbdb_servers(排除):
ansible 'web_servers:!dbdb_servers' -i inventory.ini --list-hosts