02 . SaltStack高级用法(Python API)
Python API简单使用
第一条命令
/usr/bin/salt默认使用的接口是LocalClient,该接口只能在salt master上使用
>>> import salt.client
>>> local = salt.client.LocalClient()
>>> local.cmd('*','cmd.run',['hostname'])
{'slave': 'slave'}
逐条返回结果
>>> ret = local.cmd_iter('*','test.ping')
>>> for i in ret:
... print i
...
{'slave': {'retcode': 0, 'ret': True}}
检查minion服务器信息
>>> local.cmd('*','cmd.run',['hostname'])
{'slave': 'slave'}
>>> local.cmd('*','cmd.run',['ifconfig'])
{'slave': 'ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500\n inet 192.168.43.234 netmask 255.255.255.0 broadcast 192.168.43.255\n ether 00:0c:29:92:1c:db txqueuelen 1000 (Ethernet)\n RX packets 57041 bytes 70741421 (67.4 MiB)\n RX errors 0 dropped 0 overruns 0 frame 0\n TX packets 39561 bytes 4756727 (4.5 MiB)\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\n\nlo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536\n inet 127.0.0.1 netmask 255.0.0.0\n loop txqueuelen 1 (Local Loopback)\n RX packets 4 bytes 340 (340.0 B)\n RX errors 0 dropped 0 overruns 0 frame 0\n TX packets 4 bytes 340 (340.0 B)\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0'}
>>> local.cmd('*','cmd.run',['crontab -l'])
{'slave': 'no crontab for root'}
>>> local.cmd('*','cmd.run',['df -h'])
{'slave': 'Filesystem Size Used Avail Use% Mounted on\n/dev/mapper/cl-root 17G 1.5G 16G 9% /\ndevtmpfs 982M 0 982M 0% /dev\ntmpfs 993M 12K 993M 1% /dev/shm\ntmpfs 993M 8.5M 984M 1% /run\ntmpfs 993M 0 993M 0% /sys/fs/cgroup\n/dev/sda1 1014M 121M 894M 12% /boot\ntmpfs 199M 0 199M 0% /run/user/0'}
控制minion的服务
>>> local.cmd('*','service.stop',['nginx'])
{'slave': True}
>>> local.cmd('*','service.status',['nginx'])
{'slave': False}
>>> local.cmd('*','service.start',['nginx'])
{'slave': True}
>>> local.cmd('*','service.status',['nginx'])
{'slave': True}
02 . SaltStack高级用法(Python API)的更多相关文章
- 02 . Ansible高级用法(运维开发篇)
自动化任务简介 假设我们要在10台linux服务器上安装一个nginx服务,手动是如何做的? # 第一步, ssh登录NUM(1,n)服务器 # 第二步,输入对应服务器密码 # 第三步,执行命令: y ...
- Python之Requests的高级用法
# 高级用法 本篇文档涵盖了Requests的一些更加高级的特性. ## 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个Session实例发出的所有请求之间保持cookies. 会话对象 ...
- Python中第三方库Requests库的高级用法详解
Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...
- python接口自动化 - Requests-3 高级用法
高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...
- python requests 高级用法
高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...
- redis的Linux系统安装与配置、redis的api使用、高级用法之慢查询、pipline事物
今日内容概要 redis 的linux安装和配置 redis 的api使用 高级用法之慢查询 pipline事务 内容详细 1.redis 的linux安装和配置 # redis 版本选择问题 -最新 ...
- 简学Python第七章__class面向对象高级用法与反射
Python第七章__class面向对象高级用法与反射 欢迎加入Linux_Python学习群 群号:478616847 目录: Python中关于oop的常用术语 类的特殊方法 元类 反射 一.P ...
- Python高级用法总结
Python很棒,它有很多高级用法值得细细思索,学习使用.本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式.迭代器和生成器.装饰器. 列表推导(list comprehensi ...
- Python进阶:切片的误区与高级用法
2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...
随机推荐
- ReentrantReadWriteLock源码分析及理解
本文结构 读写锁简介:介绍读写锁.读写锁的特性以及类定义信息 公平策略及Sync同步器:介绍读写锁提供的公平策略以及同步器源码分析 读锁:介绍读锁的一些常用操作和读锁的加锁.解锁的源码分析 写锁:介绍 ...
- @Transactional 事务的底层原理
最近同事发现一个业务状态部分更新的bug,这个bug会导致两张表的数据一致性问题.花了些时间去查问题的原因,现在总结下里面遇到的知识点原理. 问题一:事务没生效 我们先看一段实例代码,来说明下问题: ...
- Grafana6.4.4 + zabbix 4.2
环境简介 OS:Centos 7.4 zabbix:4.2.6 Grafana:6.4.4 一.yum 直接安装的方式 官方推荐有几种安装方式我采用yum 直接安装的方式 官方doc: https:/ ...
- 关于vue不能像angular深度克隆数据解决办法
vue要让数据源实现响应式前提必须要在初始化的时候有这个属性 如果没有这个属性,也可实现数据实时响应.解决方法: this.数组/对象.spice(0,1,'属性值') Vue.set(要修改的数组或 ...
- (七)Maven Profile 和 Filtering
每个项目都会有多套运行环境(开发,测试,正式等等),不同的环境配置也不尽相同(如jdbc.url),借助Jenkins和自动部署提供的便利,我们可以把不同环境的配置文件单独抽离出来,打完包后用对应环境 ...
- 深入理解 EF Core:EF Core 读取数据时发生了什么?
阅读本文大概需要 11 分钟. 原文:https://bit.ly/2UMiDLb 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的.其中可能 ...
- v-forv-for指令的三种使用方法
1.迭代数组 <p v-for="(item,i) in list">id:{{item.id}}---名字:{{item.name}}---索引{{item.age} ...
- 解决 React Native Android:app:validateSigningRelease FAILED 错误
RN 运行的时候报这个错这咋办:
- MQ消息队列(1)—— 概念和使用场景
一.什么是消息队列 消息即是信息的载体.为了让消息发送者和消息接收者都能够明白消息所承载的信息(消息发送者需要知道如何构造消息:消息接收者需要知道如何解析消息),它们就需要按照一种统一的格式描述消息 ...
- Perl入门(四)Perl的正则表达式
正则表达式是Perl语言的特色,基本的语法不是很难,但是编写一个符合需求.高效的正则表达式,还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正则表达式内容/; 作用:查找匹配内容中是否 ...