saltstack-4 常用模块api调用

1、导入包

import salt.client

2、建立连接和测试网络

client = salt.client.LocalClient()
ret = client.cmd(‘*‘,‘test.ping‘)

3、archive模块

#打包文件
client.cmd(‘*‘,‘archive.gzip‘,[‘/tmp/test.txt‘])
print(client.cmd("*",‘cmd.run‘,[‘ls -ltr /tmp/test.txt*‘]))

#解压文件
client.cmd(‘*‘,‘archive.gunzip‘,[‘/tmp/test.txt‘])
print(client.cmd("*",‘cmd.run‘,[‘ls -ltr /tmp/test.txt*‘]))

4、cmd模块

用来执行命令行命令

#执行命令行命令
ret = client.cmd(‘*‘,‘cmd.run‘,[‘free -m‘])
print(ret)

5、cp模块

#复制文服务器文件夹到本地
print(client.cmd(‘*‘,‘cp.get_dir‘,[‘salt://test_cp/te2‘,‘/tmp‘]))

#复制服务器文件到本地
print(client.cmd(‘*‘,‘cp.get_file‘,[‘salt://text_cp/test_get.txt‘,‘/tmp/test_get.txt‘]))

6、cron模块

#定时间新建任务
print(client.cmd(‘*‘,‘cron.set_job‘,[‘root‘,‘*‘,‘*‘,‘*‘,‘*‘,‘1‘,‘echo 123456‘]))

7、dnsutil模块

编辑hosts文件,添加dns对应

#编辑添加hosts文件
ret = client.cmd(‘*‘,‘dnsutil.hosts_append‘,[‘/etc/hosts‘,‘127.0.0.1‘,‘ad1.zxw.com,ad2.zxw.com‘])

#编辑删除hosts文件
ret = client.cmd(‘*‘,‘dnsutil.hosts_remove‘,[‘/etc/hosts‘,‘ad1.zxw.com,ad2.zxw.com‘])

8、file模块

#查看文件状态
ret = client.cmd(‘*‘,‘file.stats‘,[‘/tmp/file_cp‘])

#根改文件属组
ret = client.cmd(‘*‘,‘file.chown‘,[‘/tmp/file_cp‘,‘zxw‘,‘root‘])

#获取文件权限
ret = client.cmd(‘*‘,‘file.get_mode‘,[‘/tmp/file_cp‘])

#根改文件权限
ret = client.cmd(‘*‘,‘file.set_mode‘,[‘/tmp/file_cp‘,‘0644‘])

9、iptables模块

#添加防火墙属性
ret = client.cmd(‘*‘,‘iptables.append‘,[‘filter‘,‘INPUT‘,"rule=‘-m state --state RELATED,ESTABLISHED -j ACCEPT‘"])

#在第3的位置插入防火墙规则
ret = client.cmd(‘*‘,‘iptables.insert‘,[‘filter‘,‘INPUT‘,‘position=3‘,"rule=‘-m state --state RELATED,ESTABLISHED -j ACCEPT‘"])

#删除防火墙规则
ret = client.cmd(‘*‘,‘iptables.delete‘,[‘filter‘,‘INPUT‘,"rule=‘-m state --state RELATED,ESTABLISHED -j ACCEPT‘"])

#删除指定index的规则
ret = client.cmd(‘*‘,‘iptables.delete‘,[‘filter‘,‘INPUT‘,‘position=3‘])

10、network模块

#客户机进行ping操作
ret = client.cmd(‘*‘,‘network.ping‘,[‘www.baidu.com‘])
print("network.ping res:")
print(ret)

#客户机进行dig,dns验证操作
ret = client.cmd(‘*‘,‘network.dig‘,[‘www.baidu.com‘])
print("network.dig res:")
print(ret)

#客户机路由探测
ret = client.cmd(‘*‘,‘network.traceroute‘,[‘www.baidu.com‘])
print("network.traceroute res:")
print(ret)

#客户机网卡信息获取
ret = client.cmd(‘*‘,‘network.interfaces‘)
print("network.interfaces res:")
print(ret)

#客户机硬件信息获取
ret = client.cmd(‘*‘,‘network.hwaddr‘,[‘eth0‘])
print("network.hwaddr res:")
print(ret)

#判断客户机是否属于网段
ret = client.cmd(‘*‘,‘network.in_subnet‘,[‘192.168.100.0/24‘])
print("network.in_subnet res:")
print(ret)

#获取客户机网段
ret = client.cmd(‘*‘,‘network.subnets‘)
print("network.subnets res:")
print(ret)

11、pkg模块

相当于在客户机执行yum和apt-get命令

#安装php服务
ret = client.cmd(‘*‘,‘pkg.install‘,[‘php‘])
print("pkg.install res:")
print(ret)

#更新php服务
ret = client.cmd(‘*‘,‘pkg.upgrade‘,[‘php‘])
print("pkg.upgrade res:")
print(ret)

#卸载phpfuwu
ret = client.cmd(‘*‘,‘pkg.remove‘,[‘php‘])
print("pkg.remove res:")
print(ret)

12、service模块

#开机启动nginx
ret = client.cmd(‘*‘,‘service.enable‘,[‘nginx‘])
print("service.enable res:")
print(ret)

#关闭开机启动nxinx
ret = client.cmd(‘*‘,‘service.disable‘,[‘nginx‘])
print("service.disable res:")
print(ret)

#停止nginx
ret = client.cmd(‘*‘,‘service.stop‘,[‘nginx‘])
print("service.stop res:")
print(ret)

#验证nginx状态
ret = client.cmd(‘*‘,‘service.status‘,[‘nginx‘])
print("service.status res:")
print(ret)

#启动nginx
ret = client.cmd(‘*‘,‘service.start‘,[‘nginx‘])
print("service.start res:")
print(ret)

#再次验证nginx状态
ret = client.cmd(‘*‘,‘service.status‘,[‘nginx‘])
print("service.status res:")
print(ret)

原文地址:https://www.cnblogs.com/zxw-xxcsl/p/11400146.html

时间: 2024-11-05 11:39:26

saltstack-4 常用模块api调用的相关文章

saltstack一些常用模块和api调用方法

研究可执行模块的时候,发现很多自带的模块已经很完善,可以帮助我们完成日常工作了,这里写入自己的记录操作: 1.使用salt.clien调用接口操作举例: >>> import salt.client>>> client = salt.client.LocalClient()>>> ret = client.cmd('*','test.ping')>>> ret{'monitor': True} 我们看到调用了LocalClient()

Saltstack常用模块及API(4)

Saltstack提供了非常丰富的功能模块(用python所写),涉及操作系统的基础功能.常用工具支持等,当然也可以通过sys模块列出当前版本支持的模块 #salt '*' sys.list_modules 接下来抽取常见的模块进行介绍,同时也会列举模块的API使用方法.API的原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmda()方法来实现的.以下是API实现test.ping的示例: import salt.client client = sa

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

说明 salt '*' sys.list_modules #列出当前版本支持的模块 API原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmd()方法来实现的.以下API实现test.ping的示例:(其他API调用只需要改变cmd即可) import salt.client client = salt.client.LocalClient() ret = client.cmd('*','test.ping) #cmd内格式:'<操作目标>','&l

salt常用模块及API

saltstack提供了非常丰富的功能模块,涉及操作系统的基础功能,常用工具支持等,更多模块信息见官网模块介绍:https://docs.saltstack.com/en/latest/ref/modules/all/index.html 当然,也可以通过sys模块列出当前版本支持的模块.命令如下: #salt '*' sys.list_modules API的原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmd()方法来实现的,以下是API实现tes

saltstack常用模块及组件备忘

Saltstack分为主控端和被控端.主控端的salt服务启动:systemctl start salt-master,被控端的服务启动:systemctl start salt-minion1.Saltstack的防火墙配置主控端防火墙允许TCP4505和4506端口,被控端不需要配置.原理是被控端直接与主控端的zeromq建立长链接,接受广播到的任务信息并执行. iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4506

salt api调用iptables模块

iptables模块基本函数方法:salt.modules.iptables.append(table=u'filter', chain=None, rule=None, family=u'ipv4')salt.modules.iptables.insert(table=u'filter', chain=None, position=None, rule=None, family=u'ipv4')salt.modules.iptables.delete(table, chain=None, po

Saltstack-Salt常用模块及API

Salt提供了非常丰富的功能模块,涉及操作系统的基础功能.常用工具支持等,可以通过sys模块列出当前版本支持的模块. salt '*' sys.list_modules 781915e2:  - acl  - aliases  - alternatives  - apache  - archive  - artifactory  - at  - blockdev  - btrfs  - buildout  - cloud  - cmd ...... API的原理是通过调用master clien

Func系列2:常用模块及API

简介 Func提供了非常丰富的功能模块,包括CommandModule(执行命令).CopyFileModule(拷贝文件).CPUModule(CPU信息).DiskModule(磁盘信息).FileTrackerModule(文件跟踪).IPtablesModule(iptables管理).MountModule(Mount挂载).NagiosServerModule(Nagios管理).NetworkTest(网络测试).ProcessModule(进程管理).SysctlModule(s

[转载]android常用的API接口调用

原文地址:android常用的API接口调用作者:宋耀 显示网页:         Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it);显示地图: Uri uri = Uri.parse("geo:38.899533,-77.036476"); //Uri uri = Uri.parse(&quo