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'])
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341