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

saltstack远程执行命令.md的更多相关文章

  1. Linux centosVMware 自动化运维认识自动化运维、启动salt相关服务、saltstack配置认证、salt-key命令用法、saltstack远程执行命令、saltstack - grains、saltstack – pillar

    一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问 ...

  2. 利用 Saltstack 远程执行命令

    Saltstack的一个比较突出优势就是具备执行远程命令的功能. 操作方法与func (https://fedorahosted.org/func/)相似,可以帮助运维人员完成集中化的操作平台. ht ...

  3. Saltstack系列2:Saltstack远程执行命令

    命令 命令格式: salt '<操作目标>' <方法>[参数] 例: salt 'wx' cmd.run 'free -m' #查看被控主机内存使用情况 常用参数 针对< ...

  4. SaltStack远程执行命令

    编辑fansik_cmd.sls文件: 内容如下: fansik_cmd:  cmd.run:    - unless:      - test -f /tmp/fansik.txt      - t ...

  5. Saltstack远程执行(四)

    Saltstack远程执行 语法例:salt '*' cmd.run 'w' -  命令:salt -  目标:'*' -  模块:cmd.run,自带150+模块,也可以自己写模块 -  返回:执行 ...

  6. SaltStack远程执行-返回MySQL

    上一篇:SaltStack远程执行-模块 参考官方文档:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.my ...

  7. SaltStack远程执行

    上一篇:SaltStack概述及安装 master也需要安装一个minion 启动salt-master systemctl start salt-master 配置文件在目录/etc/salt下 p ...

  8. 利用scp 远程上传下载文件/文件夹和ssh远程执行命令

    利用scp传输文件 1.从服务器下载文件scp username@servername:/path/filename /tmp/local_destination例如scp codinglog@192 ...

  9. Saltstack异步执行命令(十三)

    Saltstack异步执行命令 salt执行命令有时候会有超时的问题,就是命令下发下去了,部分主机没有返回信息,这时候就很难判断命令或任务是否执行成功.因此,salt提供异步执行的功能,发出命令后立即 ...

随机推荐

  1. iOS边练边学--触摸事件以及能够拖拽的UIView的练习

    一.用户在使用APP的过程中,会产生各种各样的事件.iOS中的事件可以分为3大类型: 二.响应者对象 在iOS中只有继承了了UIResponder的对象才能接受并处理事件,这样的对象称之为“响应者对象 ...

  2. VS2010在C#头文件中添加文件注释的方法(转)

    步骤: 1.VS2010 中找到(安装盘符以D盘为例)D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTempl ...

  3. Entity Framework应用:使用Code First模式管理视图

    一.什么是视图 视图在RDBMS(关系型数据库管理系统)中扮演了一个重要的角色,它是将多个表的数据联结成一种看起来像是一张表的结构,但是没有提供持久化.因此,可以将视图看成是一个原生表数据顶层的一个抽 ...

  4. jar/war/ear文件的区别

     jar/war/ear三种文件,在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式.但是它们的使用目的有所区别: Jar文件(扩展名为. Jar)包含Java类的普通库.资源 ...

  5. JPA联合主键

    联合主键也就是说需要多个字段才能确定数据库记录中的唯一一行.这样就需要多个字段一起,组成主键,也叫联合主键.例如飞机航线,我们需要知道飞机起飞的地点以及飞机降落的地点.所以需要飞机起飞的地点和降落的地 ...

  6. Android Studion的Monitor中显示No Debuggable Application的解决方法

    在使用Android Studion的时候,突然android Monitor中无法下拉显示调试项目,只是一直提示No Debuggable Application,然后上网搜索的解决办法: 第一种方 ...

  7. centos 部署 SparkR

    ---恢复内容开始--- 环境配置—— 操作系统:CentOS 6.5 JDK版本:1.7.0_67 Hadoop集群版本:CDH 5.3.0 安装过程—— 1.(1)安装R yum install ...

  8. 【转】Microsoft .Net Remoting 之.Net Remoting基础篇

    .Net Remoting基础篇 一.Remoting基础 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式.从微软的产品角度来看,可以说Remoting就是DCOM的一种升级, ...

  9. linux -- chown修改文件拥有者和所在组

    chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...

  10. smb使用 ------转载自http://blog.csdn.net/tlaff/article/details/5463068

    一.在Linux系统中查看网络中Windows共享文件及Linux中的Samba共享文件: 常用到smbclient:用法如下 [root@localhost ~]# smbclient  -L  / ...