zoukankan      html  css  js  c++  java
  • 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-nodew+'  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
    
    
  • 相关阅读:
    T-SQL取时间的不同方法
    JavaScript获取地址栏中的参数值并存入一个对象
    jquery.ocupload上传文件到指定目录
    Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(三)
    Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)
    Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(一)
    Python2.x和3.x主要差异总结
    python学习视频整理
    Django-Rest-Framework 教程: 快速入门
    Django RESTful API 设计指南
  • 原文地址:https://www.cnblogs.com/pycode/p/6270302.html
Copyright © 2011-2022 走看看