saltstack python api 调用

简介:

一、Python安装saltstack

pip install salt


二、接口调用实例

1、test.ping

import salt.client

client = salt.client.LocalClient()

ret = client.cmd('*','test.ping')

print ret


2、cmd模块

1)功能:实现远程命令的调用执行

2)实例:

获取所有主机的内存使用情况 salt '*' cmd.run "free -m"


client.cmd('SN2016-02-04','cmd.run',['free -m'])


3、cp模块

1)功能:实现远程文件复制、目录复制、以及下载URL文件等操作

2)实例:

将制定被控主机的/etc/hosts文件复制到被控主机的本地的salt cache目录(/var/cache/salt/minion/localfiles)

salt '*' cp.cache_local_file /etc/hosts

将主服务器file_roots指定位置下的目录复制到被控主机

salt '*' cp.get_dir salt://path/to/dir /minion/dest

将主服务器file_roots指定位置下的文件复制到被控主机

salt '*' vcp.get_file salt://path/to/file /minion/dest

下载URL内容到被控主机指定位置

salt '*' cp.get_url http://www.saltshdot.org /tmp/index.html


client.cmd('XN2016-02-04','cp.get_file',['salt://path/to/file','/minion/dest'])


4、file 模块

1)功能:被控主机文件常见操作

2)实例

校验所有被控主机的/etc/paddwd文件的MD5是否为lkhwln423lkn4l23kjh42l3j4ml,一致则返回Ture

salt '*' file.check_hash /etc/passwd md5=lkhwln423lkn4l23kjh42l3j4ml

在所有被控主机创建目录

salt '*' file.mkdir /opt/test

将所有被控主机的/etc/httpd/httpd.conf文件的LogLevel参数的warn修改成info

salt '*' file.sed /etc/httpd/httpd.conf 'LogLevel warn' 'LogLevel info'

给所有被控主机的/tmp/test/test.conf 文件追加内容'maxclient 1000'

salt '*' file.append /tmp/test/test.conf 'maxclient 1000'

删除所有被控主机的/etc/foo文件

salt '*' file.remove /etc/foo


client.cmd('*','file.remove',['/etc/foo'])



     本文转自aaron428 51CTO博客,原文链接:http://blog.51cto.com/aaronsa/1741165,如需转载请自行联系原作者





相关文章
|
6天前
|
机器学习/深度学习 算法 数据挖掘
机器学习--K近邻算法,以及python中通过Scikit-learn库实现K近邻算法API使用技巧
机器学习--K近邻算法,以及python中通过Scikit-learn库实现K近邻算法API使用技巧
|
9天前
|
缓存 前端开发 API
toapi,一个强大的 Python Web API库!
toapi,一个强大的 Python Web API库!
24 5
|
11天前
|
API Python
[AIGC] Python列表([])和字典({})常用API介绍
[AIGC] Python列表([])和字典({})常用API介绍
|
11天前
|
API Python
[AIGC] Python字符串常用API介绍
[AIGC] Python字符串常用API介绍
|
11天前
|
API Python
[AIGC] 使用Python刷LeetCode:常用API及技巧指南
[AIGC] 使用Python刷LeetCode:常用API及技巧指南
|
11天前
|
测试技术 API 网络架构
Python的api自动化测试 编写测试用例
【4月更文挑战第18天】使用Python进行API自动化测试,可以结合`requests`库发送HTTP请求和`unittest`(或`pytest`)编写测试用例。以下示例: 1. 安装必要库:`pip install requests unittest` 2. 创建`test_api.py`,导入库,定义基础URL。 3. 创建继承自`unittest.TestCase`的测试类,包含`setUp`和`tearDown`方法。 4. 编写测试用例,如`test_get_users`,检查响应状态码和内容。 5. 运行测试:`python -m unittest test_api.py`
14 2
|
11天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
13 3
|
11天前
|
Java 测试技术 API
Python的api自动测试选择合适的测试框架
【4月更文挑战第18天】在Python API自动测试中,选择合适的框架至关重要。常见的测试工具有unittest(集成度高,适合基础测试)、pytest(功能强大,支持插件扩展和高级功能)、requests-mock(用于HTTP请求模拟和断言)、rest-assured(针对RESTful API的简洁测试)以及allure-pytest(生成美观的测试报告)。选择时要考虑项目需求、团队熟悉度和社区支持。确保遵循良好测试实践,编写清晰、全面的测试用例。
10 2
|
12天前
|
人工智能 机器人 API
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
15 0
|
12天前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
10 0