saltstack遠程執行命令.md


saltstack 支持在master上向client 遠程執行命令,並顯示命令執行的結果

命令格式:


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

示例

  • 示例1 ping檢查agent

*:代表所有minion主機;test:模塊; ping:test模塊的一個方法,這里的單引號也可以使用雙引號

[root@stack-master ~]# salt '*'  test.ping

stack-master:

    True

stack-node01:

    True

stack-node02:

    True

  • 示例2 執行命令

使用cmd.run遠程執行命令,cmd是模塊,run是cmd模塊的一個方法

[root@stack-master ~]# salt '*'  cmd.run "free -m"

stack-master:

                 total       used       free     shared    buffers     cached

    Mem:          1877        670       1207          0         28        225

    -/+ buffers/cache:        415       1461

    Swap:         4095          0       4095

stack-node01:

                 total       used       free     shared    buffers     cached

    Mem:          1877        377       1499          0         27        223

    -/+ buffers/cache:        126       1751

    Swap:         4095          0       4095

stack-node02:

                 total       used       free     shared    buffers     cached

    Mem:          1877        377       1499          0         28        223

    -/+ buffers/cache:        125       1751

    Swap:         4095          0       4095



針對<操作目標> saltstack 提供了多種方法對client(id)進行過濾

  • 普通匹配

匹配所有 '*'

匹配單個  'minion_id'

  • 正則匹配

使用-E ,--pcre 進行正則匹配


[root@stack-master ~]# salt -E '^stack-node\w+'  cmd.run "free -m"

stack-node01:

                 total       used       free     shared    buffers     cached

    Mem:          1877        377       1499          0         27        223

    -/+ buffers/cache:        126       1751

    Swap:         4095          0       4095

stack-node02:

                 total       used       free     shared    buffers     cached

    Mem:          1877        377       1499          0         28        223

    -/+ buffers/cache:        125       1751

    Swap:         4095          0       4095

  • 列表匹配

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


[root@stack-master ~]# salt -L 'stack-node01,stack-node02'  cmd.run "free -m"

stack-node02:

                 total       used       free     shared    buffers     cached

    Mem:          1877        376       1501          0         28        223

    -/+ buffers/cache:        123       1753

    Swap:         4095          0       4095

stack-node01:

                 total       used       free     shared    buffers     cached

    Mem:          1877        378       1499          0         28        223

    -/+ buffers/cache:        126       1751

    Swap:         4095          0       4095

  • IP匹配

-S,--ipcidr,根據被控主機的IP地址或IP子網進行匹配


[root@stack-master ~]# salt -S 172.16.202.0/24  cmd.run "free -m"

stack-master:

                 total       used       free     shared    buffers     cached

    Mem:          1877        676       1201          0         30        225

    -/+ buffers/cache:        420       1457

    Swap:         4095          0       4095

stack-node01:

                 total       used       free     shared    buffers     cached

    Mem:          1877        378       1498          0         28        223

    -/+ buffers/cache:        126       1751

    Swap:         4095          0       4095

stack-node02:

                 total       used       free     shared    buffers     cached

    Mem:          1877        376       1500          0         28        223

    -/+ buffers/cache:        123       1753

    Swap:         4095          0       4095


免責聲明!

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



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