NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# :-: Patterns [TOC] `Patterns` 参数用来确定我们在执行 ansible 的时候,对哪些主机进行操作,比如下面: ``` ansible <pattern_goes_here> -m <module_name> -a <arguments> ``` 示例: ``` ansible webservers -m service -a "name=httpd state=restarted" ``` 这里的 `patterns` 就是 `webserver` 组 > 如果是所有机器,那就是 ansible all 也可以写IP地址或系列主机名: ``` host-1 192.168.1.50 192.168.1.* group-1[0] #表示group-1组中的第一台主机 group-1[0:20] #表示group-1组中的第一台主机到第二十台主机 ``` ## patterns 组之间的关系表示 1. 表示隶属于`group-1` 或`group-2`组中的主机 ``` group-1:group-2 ``` 2. 表示隶属于在`group-1`组中,但不在`group-2`组的主机 ``` group-1:!group-2 ``` 3. 表示同时隶属于`group-1`和`group-2`组的主机(交集) ``` group-1:&group-2 ``` 举个复杂的例子: 在隶属于`group-1`和`grpup-2`的主机中,属于`group-3`组,但又不在`group-4`组的主机 ``` group-1:group-2:&group-3:!group-4 ``` ## 用正则表达式来表示 想用正则表达式,只需要开头使用 `~` 符号 ``` ~(web|db).*\.server\.host ``` ## 使用 —limit 来排除 1. 排除 group-1 组 ``` ansible test.yml --limit group-1 ``` 2. 使用 `@` 排除host ``` ansible-playbook site.yml --limit @hosts.txt ```