一、通配符、列表、正则 (都可以在top file里直接使用)
1.通配符
-- 匹配所有标识名
# salt '*' test.ping
-- 匹配所有aa开头.com结尾的标注名
# salt 'aa*.com' test.ping
-- 匹配:node1、node2、node5等相差一个字符的标识名
# salt 'node?.com' test.ping
2.列表
-- 匹配node1.com,node2.com
salt 'node1.com,node2.com' test.ping
-- 配node1到node5小兵:
# salt 'node[1-5]' test.ping
-- 匹配node1和node2奴才:
# salt 'node[1,2]' test.ping
-- 匹配node-a,node-b和node-c:
# salt 'node-[a-c]' test.ping
3.正则
-- 匹配node-ab和node-yu:
# salt -E 'node-(ab|yu)' test.ping
-- 匹配m开头的和s开头com结尾的标识名
# salt -E '(m.|s.*com)' test.ping
saltstack-api.sh.com:
True
mino.sh.com:
True
二、Grians方式定位
-- 匹配64位CPU的服务器
# salt -G 'cpuarch:x86_64' test.ping
-- 匹配所有CentOS系统的服务器
# salt -G 'os:CentOS' test.ping
-- 字典标识方式匹配
首先要salt服务端开启grains配置
# vim /etc/salt/master
file_roots:
base:
- /srv/salt
# mkdir -p /srv/salt/web
# cd /srv/salt/web
# vim web.sls