saltstack python api 调用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘])









本文出自 “我的运维时光” 博客,请务必保留此出处http://aaronsa.blog.51cto.com/5157083/1741165

以上是关于saltstack python api 调用的主要内容,如果未能解决你的问题,请参考以下文章

Saltstack API以及对应的Python模板

57. Python saltstack 二次开发

saltstack api安装使用

SaltStack RESTful API的调用

python saltstack api

saltstack-4 常用模块api调用