命令格式:node
salt '<操做目標>' <方法>[參數]
例:python
salt 'wx' cmd.run 'free -m' #查看被控主機內存使用狀況
針對<操做目標>,Saltstack提供了多種方法對被控主機(id)進行過濾。下面列舉出經常使用具體參數:
-E,--pcre,經過正則表達式進行匹配:nginx
salt -E '^SN2013.*' test.ping #探測SN2013開頭的主機id名是否連通
-L,--list,以主機id名列表的形式進行過濾,格式與Python的列表類似,即不一樣主機id名稱使用逗號分離。web
salt -L 'SN2013-08-021,SN2013-08-021' grains.item osfullname #獲取主機id爲:SN2013-08-021,SN2013-08-021完整操做系統發行版名稱
-G,--grain,根據被控主機的grains信息進行匹配過濾,格式爲:<grain value>:<grain expression>正則表達式
salt -G 'osrelease:6.4' cmd.run 'python -V' #獲取發行版本號爲6.4的python版本號
-I,--pillar,根據被控主機的pillar信息進行匹配過濾,格式爲:"對象名稱":"對象值"express
salt -I 'nginx:root:/data' test.ping #探測具備'nginx:root:/data'信息的連通性。 #pillar屬性配置文件以下: nginx: root: /data
-N,--nodegroup,根據主控端master配置文件中的分組名稱進行過濾。運維
#分組配置:【/etc/salt/master】 nodegroups: web1group: 'L@wx,SN2013-08-21' web2group: 'L@SN2013-08-22,SN2014' #其中L@表示後面的主機id格式爲列表,即主機id以逗號分隔:G@表示以grain格式描述:S@表示以IP子網或地址格式描述 salt -N web2group test.ping #探測web2group被控主機的連通性
-C,--compound,根據條件運算符not、and、or去匹配不一樣規則的主機信息spa
salt -C 'E@^SN2013.* and G@os:Centos' test.ping #探測SN2013開頭而且操做系統版本爲CentOS的主機的連通性
-S,--ipcidr,根據被控主機的IP地址或IP子網進行匹配操作系統
salt -S 192.168.0.0/16 test.ping salt -S 192.168.1.10 test.ping
參考資料:code
根據劉天斯《Python自動化運維技術與最佳實踐》整理