集中化管理平台Saltstack远程执行命令
官网:http://saltstack.com/国内:http://www.saltstack.cn/
命令格式:
salt '<操作目标>' <方法> <参数>
1.查看minion001主机使用:
# salt 'minion001' cmd.run 'free -m'
minion001:
total used free shared buffers cached
Mem: 988 560 428 0 32 305
-/+ buffers/cache: 221 766
Swap: 1983 0 1983
#
2.-E,--pcre 通过正则表达式匹配主机
测试已minion开头的主机是否连通
# salt -E '^minion' test.ping
minion001:
True
minion002:
True
#
3.-L,--list,以主机id名列表的形式过滤,格式与python列表类似
获取minion001,minion002的系统信息
# salt -L 'minion001,minion002' grains.items osfullname
minion002:
----------
SSDs:
biosreleasedate:
01/23/2012
biosversion:
6.00
cpu_flags:
- fpu
minion001:
----------
SSDs:
biosreleasedate:
01/23/2012
biosversion:
6.00
cpu_flags:
- fpu
- vme
- de
4.-G,--grain, 根据被控主机的grains信息进行匹配过滤
格式为:'<grain value>:<glob expression>'
例如:过滤内核为Linux的主机:可写成,‘kernel:Linux'
# salt -G 'osrelease:6.4' cmd.run 'python -V'
minion001:
Python 2.6.6
minion002:
Python 2.6.6
#
如果需要配合正则表达式,使用参数--grain-pcre,经测试只能冒号后的<glob expression>能用正则
# salt --grain-pcre '+:linux' test.ping
No minions matched the target. No command was sent, no jid was assigned.
# salt --grain-pcre 'kernel:+' test.ping
minion001:
True
minion002:
True
#
5.-I,--pillar 根据被控主机的pillar信息进行匹配过滤
格式: "对象名称:对象值"
过滤:'apache: httpd' "nginx: root: /data"
待测。。。
6.-N ,--nodegroup ,根据主控端master配置文件/etc/salt/master中的分组进行过滤
组的定义支持正则表达式,grain,条件运算等
分组,官网:http://docs.saltstack.com/en/latest/topics/targeting/nodegroups.html
# cat /etc/salt/master
interface: 192.168.224.141
auto_accept: True
file_roots:
base:
- /srv/salt
nodegroups:
group1:'minion001'
group2:'minion002'
group3:'minion001,minion002'
group4:'*'
group5:'E@^minion'
# salt -N group1 test.ping
minion001:
True
# salt -N group2 test.ping
minion002:
True
# salt -N group3 test.ping
minion002:
True
minion001:
True
# salt -N group4 test.ping
minion001:
True
minion002:
True
# salt -N group5 test.ping
minion002:
True
minion001:
True
#
7.-C,--compound,根据条件运算符not,and,or匹配不同规则的主机信息
探测id以minion开头,系统为Centos的主机的连通性
# salt -C 'E@^minion and G@os:Centos' test.ping
minion002:
True
minion001:
True
#
8.-S,--ipcidr 根据被控主机的IP地址或IP子网进行匹配
# salt -S '192.168.224.142' test.ping
minion001:
True
# salt -S '192.168.224.0/24' test.ping
minion002:
True
minion001:
True
#
页:
[1]