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
saltstack远程执行命令.md的更多相关文章
- Linux centosVMware 自动化运维认识自动化运维、启动salt相关服务、saltstack配置认证、salt-key命令用法、saltstack远程执行命令、saltstack - grains、saltstack – pillar
一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问 ...
- 利用 Saltstack 远程执行命令
Saltstack的一个比较突出优势就是具备执行远程命令的功能. 操作方法与func (https://fedorahosted.org/func/)相似,可以帮助运维人员完成集中化的操作平台. ht ...
- Saltstack系列2:Saltstack远程执行命令
命令 命令格式: salt '<操作目标>' <方法>[参数] 例: salt 'wx' cmd.run 'free -m' #查看被控主机内存使用情况 常用参数 针对< ...
- SaltStack远程执行命令
编辑fansik_cmd.sls文件: 内容如下: fansik_cmd: cmd.run: - unless: - test -f /tmp/fansik.txt - t ...
- Saltstack远程执行(四)
Saltstack远程执行 语法例:salt '*' cmd.run 'w' - 命令:salt - 目标:'*' - 模块:cmd.run,自带150+模块,也可以自己写模块 - 返回:执行 ...
- SaltStack远程执行-返回MySQL
上一篇:SaltStack远程执行-模块 参考官方文档:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.my ...
- SaltStack远程执行
上一篇:SaltStack概述及安装 master也需要安装一个minion 启动salt-master systemctl start salt-master 配置文件在目录/etc/salt下 p ...
- 利用scp 远程上传下载文件/文件夹和ssh远程执行命令
利用scp传输文件 1.从服务器下载文件scp username@servername:/path/filename /tmp/local_destination例如scp codinglog@192 ...
- Saltstack异步执行命令(十三)
Saltstack异步执行命令 salt执行命令有时候会有超时的问题,就是命令下发下去了,部分主机没有返回信息,这时候就很难判断命令或任务是否执行成功.因此,salt提供异步执行的功能,发出命令后立即 ...
随机推荐
- shell脚本----if(数字条件,字符串条件,字符串为空)
二元比较操作符,比较变量或者比较数字. 注意数字与字符串的区别. 1.整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如 ...
- 飞飞影视cms标签
解析范围: 全站所有模板均可调用 模板名称: 所有模板 调用函数: ff_mysql_vod(参数1:值1;参数2:值2;参数3,值3....;参数n,值n),支持的参数列表如下 * 以下变量名如$v ...
- oracle DataGuard 主从 踩过坑的
一.主机描述 dbprimary: 192.168.1.57 主机名称db1 dbstandby: 192.168.1.58 主机名成db2 SID: orcl 二.配置tns,配置好的文 ...
- JavaScript(一):JavaScript简介
一.什么是JavaScript JavaScript是一种具有面向对象能力的.解释性的程序设计语言.更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言.因为他不需要在一个语言环境下运行 ...
- Vector & ArrayList Hashtable & HashMap ArrayList & LinkedList
1. Vector & ArrayList 1) Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的 ...
- D方法 自动完成
控制器 public function insert(){ $Wztj = D("Wztj");if($vo=$Wztj->create()){ if($Wztj->a ...
- 【转】C# Async/Await 异步编程中的最佳做法
Async/Await 异步编程中的最佳做法 Stephen Cleary 近日来,涌现了许多关于 Microsoft .NET Framework 4.5 中新增了对 async 和 await 支 ...
- DirectoryEntry 账户启动与停用 以及创建账户等
启动账户: DirectoryEntry usr = new DirectoryEntry("LDAP://CN=New User,CN=users,DC=fabrikam,DC=com&q ...
- AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子. 一 AOP的基本概念 (1)Asp ...
- 用cxf生成webservice的java客户端代码
百度来的: 最近,由于要用到某公司提供的webservice实现的api接口,想到了用cxf的wsdl2java工具来生成客户端程序.(自己写是比较麻烦且费时,so偷懒一下..) 使用步骤如下: 一. ...