saltstack提供了非常丰富的功能模块,涉及操作系统的基础功能,常用工具支持等,更多模块信息见官网模块介绍:https://docs.saltstack.com/en/latest/ref/modules/all/index.html 当然,也可以通过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 '*'

salt常用模块及API的更多相关文章

  1. Func常用模块及API

    Func常用模块及API Func提供了非常丰富的功能模块,包括: CommandModule(执行命令) CopyFileModule(拷贝文件) CpuModule(CPU信息) DiskModu ...

  2. Saltstack常用模块及API

    Saltstack提供了非常丰富的功能模块,涉及操作系统的基础功能.常用工具支持等,更多模块信息可以查看官网模块介绍.也可以通过sys模块列出当前版本支持的模块. salt '*' sys.list_ ...

  3. Saltstack系列3:Saltstack常用模块及API

    说明 salt '*' sys.list_modules #列出当前版本支持的模块 API原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmd()方法来实现 ...

  4. Func系列2:常用模块及API

    简介 Func提供了非常丰富的功能模块,包括CommandModule(执行命令).CopyFileModule(拷贝文件).CPUModule(CPU信息).DiskModule(磁盘信息).Fil ...

  5. Ansible常用模块及API

    Ansible安装 安装EPEL作为安装Ansible的yum源(CentOS6.4): rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel ...

  6. salt常用模块

    salt 常用命令整理     转载:https://www.cnblogs.com/aslongas/p/6964890.html salt 常用命令整理 ***********模块******** ...

  7. Saltstack 常用的模块及API

    Saltstack提供了非常丰富的功能模块,设计操作系统的基础功能,常用工具支持等, 官网模块介绍 http://docs.saltstack.com/ref/modules/all/index.ht ...

  8. salt常用命令、模块、执行

    一.salt常用命令 salt 该命令执行salt的执行模块,通常在master端运行,也是我们最常用到的命令 salt [options] '<target>' <function ...

  9. ansible api常用模块与参数

    ###ansibleAPI 常用模块 用于读取yaml,json格式的文件 from ansible.parsing.dataloader import DataLoader #用于管理变量的类,包括 ...

随机推荐

  1. java中字符与字节的编码关系

    在 GB 2312 编码或 GBK 编码中,一个英文字母字符存储需要1个字节,一个汉字字符存储需要2个字节. 在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节. ...

  2. GitLab 502问题的解决

    问题: 502 Whoops, GitLab is taking too much time to respond. 日志: [root@cs12-66-gitlab ~]# my gitlab-ct ...

  3. linux 下git使用教程

    #添加所有新增文件 git add . #提交所有修改,包括删除,添加,修改 git add -A git add --all #查看状态 git status #添加一个文件 git add rea ...

  4. chrome和Firefox对p标签中单词换行的渲染(强制换行)

    谷歌和火狐对p标签单词的渲染: 今天在p标签展示url链接中,由于有几个下划线拼接的单词特别长, 所以总有那么几行老是超出p标签的范围,然后设置了强制 换行,才得以解决. word-wrap : br ...

  5. Java-Web中访问某个指定工程中的文件,报错后发现访问的文件是另一个工程里面的文件

    问题: 浏览器向我的bingou项目中的UserDaoImpl.java发送请求, myeclipse报错:空指针异常 点击报错行之后,错误给定位到了另一个项目中的的一个文件 解决: 原因是文件名错误 ...

  6. 5.验证用户名是否已经被注册:AJAXC请求

    首先在 web.xml 文件中添加配置信息 <!-- 配置全局的字符集 --> <context-param> <param-name>encode</par ...

  7. MySQL优化技巧之四:mysql数据库开发常见问题及优化[转]

    mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...

  8. PAT-甲级刷题笔记和总结

     本帖主要记录一些自己在刷题过程中的一些笔记,包括: 1.常用的函数 2.STL中常用方法 3.常见错误 4.其他常用方法 5.刷题过程中的常见算法:https://www.cnblogs.com/M ...

  9. centos-linux热拔插scsi硬盘

    自己配置虚拟机,需要添加一块虚拟硬盘存放数据.虚拟机在更新软件,不想停机.学习了下热拔插硬盘的知识点 1. 在虚拟机中创建虚拟磁盘并添加. 2. 查看目前的磁盘信息cat /proc/scsi/scs ...

  10. CA单向认证和双向认证的区别?

    1:单向认证,内容会被串改吗?