命令

命令格式:

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自动化运维技术与最佳实践》整理

转载于:https://www.cnblogs.com/MacoLee/p/5750310.html

Saltstack系列2:Saltstack远程执行命令相关推荐

  1. expect脚本同步文件、 expect脚本指定host和要同步的文件 、 构建文件分发系统 、批量远程执行命令...

    为什么80%的码农都做不了架构师?>>>    20.31 expect脚本同步文件 使用expect脚本同步文件 说明:核心命令是rsync #! /usr/bin/expect ...

  2. 执行远程linux命令,linux shell 远程执行命令

    经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 如果不会的请参加我的另外一篇文章 http://blog.csdn ...

  3. 20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数...

    20.27 分发系统介绍 shell项目-分发系统-expect 20.28 expect脚本远程登录 1. 安装expect [root@hao-01 ~]# yum install -y expe ...

  4. 解决SSH远程执行命令找不到环境变量的问题

    解决SSH远程执行命令找不到环境变量的问题 参考文章: (1)解决SSH远程执行命令找不到环境变量的问题 (2)http://www.cnblogs.com/zhenyuyaodidiao/p/928 ...

  5. linux远程执行shell命令行,linux shell 远程执行命令--ftp

    linux shell 远程执行命令--ftp 2018-12-07 ftp有很多命令,熟悉这些命令你能大大的提高工作效率: FTP命令行格式为: ftp -v -d -i -n -g [主机名] , ...

  6. Python_编写UDP通信编解码类、文件的上传、远程执行命令、黏包

    1.UDP通信编解码类 (1) 类 1 # ------------------UDP通信解码编码类------------------------ 2 3 from socket import * ...

  7. day26-3 模拟ssh远程执行命令

    目录 模拟ssh远程执行命令 服务器 客户端 模拟ssh远程执行命令 实现在客户端输入执行命令后,返回执行命令的信息.如输入dir,显示当前目录下的所有文件和文件夹 服务器 import socket ...

  8. python paramiko模块:远程执行命令及上传和下载

    远程执行命令: df -y 交互输入y 基于公钥和私钥远程执行命令: 上传下载文件: 基于公钥和私钥上传和下载:

  9. Linux 实操———— Shell 远程执行命令

    引言 目前,开发人员的部署方式是,将项目打包(Maven 打包) 然后将 生成的 jar 包等文件,通过Xshell 等终端工具手动传输到远程服务器上,然后再通过在终端执行远程服务器上的 shell ...

  10. shell打开wifi命令_远程执行命令的填坑记录

    前言 本文主要记录 bash 四种模式的细节,以便于遇到问题时查阅. 远程执行出错了 最近使用 ansible 比较多,在某次使用 shell 模块远程执行命令的时候老是报 'command not ...

最新文章

  1. iOS唯一标示符引导
  2. STP与RSTP也不过就这些区别
  3. 对标 VS Code,JetBrains 的下一代 IDE :Fleet
  4. 关于使用fastjson统一序列化响应格式。
  5. hdu 1317——XYZZY
  6. 基于zbus的MySQL透明代理(100行)
  7. 3.3栈与递归的实现
  8. mybaitis快速生成_Mybatis中使用mybatis-generator结合Ant脚本快速自动生成Model、Mapper等文件...
  9. Scherlokk for Mac(文件搜索软件)
  10. 【算法】06 GLUE算法C++实现
  11. 介绍-Linux capability机制
  12. 九宫格拼图android代码,Android 多图上传后将图片进行九宫格展示的实例代码
  13. python画出K线图及技术指标
  14. 论汽车车机快速启动与开机动画、倒车影像三者关系
  15. 前端js——倒计时效果实现 动态显示倒计时
  16. 百数谐韵咏物千字文全文释义
  17. 数据分析项目实战项目一:CPC广告优化以及bilibili订单分析(下)
  18. 骁龙笔记本的目的究竟是什么
  19. SSH服务器拒绝了密码,请再输入一次(解决方法)
  20. mkv格式怎么转换成mp4?mkv转mp4步骤

热门文章

  1. 语言abline画不出线_北师大版八下数学 2.1不等关系 知识点精讲
  2. python所有组合,在python中组合n个列表的所有元素
  3. java编译及运行过程_简述JAVA程序的编辑编译和运行过程
  4. CoType: Joint Extraction of Typed Entities and Relations with Knowledge Bases阅读笔记
  5. Thymeleaf 模板布局三种区别
  6. 如何自定义一个注解(@Annotation)
  7. android 中使用svg
  8. 安装Visual Studio 2013以及简单使用
  9. 避开ie缓存机制,实时从服务器取得最新数据
  10. android looper介绍