天天看點

saltstack常用遠端指令

salt指令文法

salt  '<操作目标>'  <子產品方法>  [參數]

具體有哪些<子產品方法>參考:

https://docs.saltstack.com/en/develop/ref/modules/all/index.html#all-salt-modules

<操作目标>,Saltstack提供了多種方法對被控主機(id)進行過濾。下面列舉出常用具體參數:

[root@node1 ~]# salt '*' test.ping# *比對所有目标

-E,--pcre,通過正規表達式進行比對:

[root@node1 ~]# salt -E '^node.*' test.ping #探測node開頭的主機id名是否連通

-L,--list,以主機id名清單的形式進行過濾,格式與Python的清單相似,即不同主機id名稱使用逗号分離。

[root@node1 ~]# salt -L 'node1,node2' grains.item osfullname #擷取主機id為:node1,node2完整作業系統發行版名稱

-G,--grain,根據被控主機的grains資訊進行比對過濾,格式為:<grain value>:<grain expression>

[root@node1 ~]# salt '*' grains.items#擷取grains收集的資訊

[root@node1 ~]# salt -G 'osrelease:6.6' cmd.run 'uptime' #擷取發行版本為6.6的uptime

-I,--pillar,根據被控主機的pillar資訊進行比對過濾,格式為:"對象名稱":"對象值"

salt -I 'nginx:root:/data' test.ping #探測具有'nginx:root:/data'資訊的連通性。

#pillar屬性配置檔案如下:

nginx:

  root: /data

-N,--nodegroup,根據主要端master配置檔案中的分組名稱進行過濾。

#分組配置:【/etc/salt/master】

nodegroups:

web1group: 'L@node1'

web2group: 'L@node2'

#其中L@表示後面的主機id格式為清單,即主機id以逗号分隔:G@表示以grain格式描述:S@表示以IP子網或位址格式描述

salt -N web2group test.ping #探測web2group被控主機的連通性

-C,--compound,根據條件運算符not、and、or去比對不同規則的主機資訊

salt -C 'E@^node.* and G@os:Centos' test.ping #探測node開頭并且作業系統版本為CentOS的主機的連通性

-S,--ipcidr,根據被控主機的IP位址或IP子網進行比對

salt -S 192.168.10.0/24 test.ping

salt -S 192.168.10.128 test.ping

本文轉自 fxl風 51CTO部落格,原文連結:http://blog.51cto.com/fengxiaoli/1957989