wtxnpw 发表于 2018-8-1 09:01:26

集中化管理平台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]
查看完整版本: 集中化管理平台Saltstack远程执行命令