Saltstack系列2:Saltstack遠程執行命令


命令

命令格式:

salt '<操作目標>' <方法>[參數]

例:

salt 'wx' cmd.run 'free -m' #查看被控主機內存使用情況

常用參數

針對<操作目標>,Saltstack提供了多種方法對被控主機(id)進行過濾。下面列舉出常用具體參數:
-E,--pcre,通過正則表達式進行匹配:

salt -E '^SN2013.*' test.ping #探測SN2013開頭的主機id名是否連通

 

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

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信息進行匹配過濾,格式為:"對象名稱":"對象值"

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去匹配不同規則的主機信息

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

 


參考資料:

根據劉天斯《Python自動化運維技術與最佳實踐》整理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM