利用saltstack的salt.client模块可以在python的命令行下或者python脚本里执行相应的salt命令

master端想要执行类似 salt '*' cmd.run 'uptime' 在saltclient里可以这么写

import salt.client local = salt.client.LocalClient() local.cmd('*', 'cmd.run', ['uptime'])

也可以放到后台执行只返回一个jid

cmd_async('*', 'cmd.run', ['uptime'])

得到jid可以通过get_cache_returns(jid)方法来获取执行结果,在没有执行完成以前是为空的所以可以写一个while来一直读取结果直到读取到或者超出规定时间为止

import salt.client local = salt.client.LocalClient() t = 0 jid = local.cmd_async('*', 'cmd.run', ['uptime']) while not local.get_cache_returns(jid):     time.sleep(1)     if t == 8:         print 'Connection Failed!'         break     else:         t+=1 print local.get_cache_returns(jid)

minion端可以用来直接在minions上执行命令或者也可以用来写returnner的时候获取minion的grain信息等

import salt.client caller = salt.client.Caller() caller.sminion.functions['cmd.run']('ls -l')

获取grains的信息

import salt.client caller = salt.client.Caller() caller.sminion.functions['grains.items']  #grains.items代表获取全部的grains信息 caller.sminion.functions['grains.item']('os') #想要特定的grains信息用grains.item然后在后面指定

本文出自 “日光倾城” 博客,,请务必保留此出处

saltstack通过salt.client执行命令(转)的更多相关文章

  1. saltstack之(四)远程执行及常用模块

    前几篇文章已经完成了saltstack的安装.认证,从这篇文章开始学习使用saltstack的远程执行. 1.salt远程执行命令详解Usage: salt [options] '<target ...

  2. salt stack 远程命令

    salt stack 远程命令 salt stack是一种自动化的运维工具,可以同时对N台服务器进行配置管理.远程命令执行等操作. salt stack分为两个部分 salt-master,部署在控制 ...

  3. python案例远程执行命令

    ------类似于cmd的功能,client执行命令,server发命令结果发送到client -----------server.py------------------- import subpr ...

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

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

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

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

  6. 用python登录远程salt,并执行命令

    用python操作saltstack,如果是在本地,则可以用python的salt模块,但如果要操作远程saltstack,则不行,今天就来看看怎么操作. 用python操作远程的saltstack, ...

  7. saltstack远程执行命令.md

    saltstack 支持在master上向client 远程执行命令,并显示命令执行的结果 命令格式: salt '<操作目标>' <方法> [参数] 示例 示例1 ping检 ...

  8. saltstack实战2--远程执行之模块(Modules)

    本来转自http://www.cnblogs.com/MacoLee/p/5753640.html  版权归原作者所有 说明 salt '*' sys.list_modules #列出当前版本支持的模 ...

  9. saltstack实战2--远程执行之返回(returner)

    saltstack有3大功能:远程执行,配置管理,云管理 其中远程执行又可分解为:目标,模块,返回  这3个部分. 比如下面语句 [root@master ~]# salt '*' test.ping ...

随机推荐

  1. Week2 Bing词典Android客户端案例分析

    一.软件调研 运行平台:Android 4.4.4 必应版本:5.2.2 1.bug发现 1.1 bug标题:单词挑战无法加载和刷新 bug详细描述:学习界面中的单词挑战模块,点击后没有任何反映,并且 ...

  2. AutoMapper配置方法

    在Mvc开发中,我们经常需要构建一个viewModel出来供页面使用,在PO和VO之间相互传值的时候,如果实体字段比较多的时候,那么传值将变得异常麻烦,也使得代码非常的臃肿.AutoMapper可以帮 ...

  3. Linq专题之匿名对象

    匿名对象是c#3.0的一个新的机制,使用new关键字和一个对象的初始化器,就能创建一个匿名对象.顾名思义,创建的时候这个对象是一个匿名类型的对象,没有具体的类型.说到匿名对象,那么我们前面讲过的var ...

  4. C#基本概念列举说明

    1. 关键字      在C#代码中常常使用关键字,关键字也叫保留字,是对C#有特定意义的字符串.关键字在Visual Studio 环境的代码视图中默认以蓝色显示.例如,代码中的using.name ...

  5. C#为工作Sql而产生的字符串分割小工具(很实用,你值得拥有)

    写在前面 为什么要写这个工具? 工作需要,拼接字符串头晕眼花拼接的,特别是in 查询,后面的参数太多,想在数据执行一些这个sql语句老费劲了. 看正文 工作所有的(后台)攻城狮们都会接触到sql语句, ...

  6. css:条件注释判断浏览器

    所有的IE可识别 Target ALL VERSIONS of IE <!--[if IE]> <link rel="stylesheet" type=" ...

  7. MySQL联接操作

    在MySQL中,联接是一种对表的引用, 多表联接类型: 1.笛卡尔积(交叉联接):在MySQL中为CROSS JOIN或省略JOIN,如: select * from course, teachcou ...

  8. MySQL Query Profile

    MySQL Query Profiler, 可以查询到此 SQL 语句会执行多少, 并看出 CPU/Memory 使用量, 执行过程 System lock, Table lock 花多少时间等等.从 ...

  9. JAVA多用户商城系统源码

    最近公司要搞商城,让我多方咨询,最后看了很多,要不就是代码注释不全,要不就是bug多,要么就是文档缺少,最后决定自己开发一套商城. 下面是开发的一些心得体会,权且记录下来,给自己做个记录把.   网址 ...

  10. 部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法

    转载:http://www.cnblogs.com/jys509/p/4499978.html 在调用RSA加密的.pfx密钥时,在本地调试没有问题,可以布署到服务器,就会报以下的错误: 用户代码未处 ...