zoukankan      html  css  js  c++  java
  • 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自动化运维技术与最佳实践》整理

  • 相关阅读:
    GTD180007:【运维】LINUX学习
    GTD180006:【运维】安装调试GDB
    {done}GTD180005:【翻译】LISP prehistory
    ComPiler180001:【学习】编译器学习链接
    AIIE180002:AIIE2015大会主题
    AIIE180001:AIIE2016大会主题
    GTD180004:【开发】python_med
    GTD180003:【开发】python_oeis
    欧亚大帝国及一战、二战
    大洲分界线
  • 原文地址:https://www.cnblogs.com/andy6/p/11705005.html
Copyright © 2011-2022 走看看