博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
salt常用模块及API
阅读量:6958 次
发布时间:2019-06-27

本文共 1318 字,大约阅读时间需要 4 分钟。

saltstack提供了非常丰富的功能模块,涉及操作系统的基础功能,常用工具支持等,更多模块信息见官网模块介绍: 当然,也可以通过sys模块列出当前版本支持的模块。命令如下:

#salt '*' sys.list_modules

API的原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmd()方法来实现的,以下是API实现test.ping的示例:

import salt.client

client = salt.client.LocalClient()

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

print ret

其结果以一个标准的Python字典形式的字符串返回,可以通过eval()函数转换成Python的字典类型,方便后续的业务逻辑处理,程序运行结果如下:

{'hudson': True}

-------------     

另一例子:

>>> import salt.client

>>> local = salt.client.LocalClient()
>>> local.cmd('*', 'cmd.run', ['whoami'])

其它模块如:

salt '*' archive.gunzip /tmp/sourcefile.txt.gz   #支持gunzip、gzip、rar、tar、unrar、unzip等。

salt '*' archive.gzip /tmp/sourcefile.txt

API调用:client.cmd('*','archive.gunzip',['/tmp/sourcefile.txt.gz'])

 

salt '*' cmd.script salt://script/test.sh #该命令会做两个动作:首先同步test.sh到minion的cache目录(如同步到/var/cache/salt/minion/files/base/script/test.sh);其次运行该test.sh脚本

 

#将指定被控主机的/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 '*' cp.get_file salt://path/to/file /minion/dest

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

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

API调用:client.cmd('hudson','cp.get_file',['salt://path/to/file' , '/minion/dest'])

 

salt '*'

 

转载地址:http://vwmil.baihongyu.com/

你可能感兴趣的文章
Linux里五种I/O模型
查看>>
global mapper 地图
查看>>
用 Python 实现抖音尬舞机
查看>>
设计模式1 - 简单工厂模式
查看>>
Mac 上使用jdb 调试Android
查看>>
[译]你可能不需要Redux
查看>>
程序猿秃顶算工伤吗?
查看>>
SpringBoot 对多线程的支持
查看>>
【从蛋壳到满天飞】JS 数据结构解析和算法实现-二分搜索树(二)
查看>>
【通俗易懂】JWT-使用的可能正确姿势
查看>>
用 Feature First 的方式管理前端项目复杂度
查看>>
ARTS 第二周
查看>>
20道25K+Android工程师面试必问面试题
查看>>
前端面试系列-JS 基础知识点
查看>>
Slog54_lua_表、模块和包
查看>>
node.js运行在后台中
查看>>
第88节:Java中的Ajax和ASP.NET和TCP/IP 教程和JSON
查看>>
封装请求拦截器、响应拦截器原理
查看>>
好程序员web前端分享web开发概况
查看>>
小猿圈解析Linux系统启动过程
查看>>