Saltstack-Salt常用模块及API
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Salt提供了非常丰富的功能模块,涉及操作系统的基础功能、常用工具支持等,可以通过sys模块列出当前版本支持的模块。salt '*' sys.list_modules781915e2: - acl -
千家信息网最后更新 2025年01月23日Saltstack-Salt常用模块及API
Salt提供了非常丰富的功能模块,涉及操作系统的基础功能、常用工具支持等,可以通过sys模块列出当前版本支持的模块。
salt '*' sys.list_modules781915e2: - acl - aliases - alternatives - apache - archive - artifactory - at - blockdev - btrfs - buildout - cloud - cmd......
API的原理是通过调用master client模块,实例化一个LocalClient对象,再调用cmd()方法来实现的。
API实现test.ping示例:
>>> import salt.client>>> client = salt.client.LocalClient()>>> ret = client.cmd('*','test.ping')>>> print ret{'781915e2': True} #结果以一个标准的Python字典形式的字符串返回,可以通过eval()函数转换成Python的字典类型,方便后续的业务逻辑处理
(1)Archive模块
功能:实现系统层面的压缩包调用,支持gunzip、gzip、rar、tar、unrar、unzip等。
示例:
salt '781915e2' cmd.run 'mkdir /opt/test' #为被控端minion创建/opt/test目录781915e2: scp test.txt.gz root@kurol:/opt/test #将测试的gzip文件拷贝给被控端minionsalt '781915e2' archive.gunzip /opt/test/test.txt.gz #解压被控端/opt/test/test.txt.gz文件781915e2: salt '781915e2' archive.gzip /opt/test/test.txt #压缩781915e2:
API调用:
>>> import salt.client>>> client = salt.client.LocalClient()>>> client.cmd('*','archive.gunzip',['/opt/test/test.txt.gz']){'781915e2': []}
(2)cmd模块
功能:实现远程的命令行调用执行(默认具备root操作权限,使用时需评估风险)
示例:
[root@server ~]# salt '*' cmd.run "free -m"781915e2: total used free shared buffers cached Mem: 996 834 162 0 121 252 -/+ buffers/cache: 460 536 Swap: 0 0 0
API调用:
client.cmd('*','cmd.run',['free -m])
(3)cp模块
功能:实现远程文件、目录的复制,以及下载URL文件等操作。
示例:
salt '*' cp.cache_local_file /etc/hosts #将指定被控主机的/etc/hosts文件复制到被控主机本地的salt cache目录(/var/cache/salt/minion/localfiles)781915e2: /var/cache/salt/minion/localfiles/etc/hosts salt '*' cp.get_dir salt://path/to/dir/ /minion/dest #将主服务器file_roots指定位置下的目录复制到被控主机,salt:// 第一个'/'为 配置文件base指定的根,第二个为路径分割符781915e2: salt '*' cp.get_file salt://path/to/file /minion/dest #将主服务器file_roots指定位置下的文件复制到被控主机781915e2: salt '*' cp.get_url http://www.baidu.com /tmp/index.html #下载URL内容到被控主机指定位置781915e2: /tmp/index.html
API调用:
client.cmd('*','cp.get_file',['salt://path/to/file ',' /minion/dest'])
(4)cron模块
功能:实现被控主机的crontab操作
示例:
salt '*' cron.raw_cron root #查看指定被控主机、root用户的crontab清单781915e2: #secu-tcs-agent monitor, install at Sat Mar 18 15:55:40 CST 2017 * * * * * /usr/local/sa/agent/secu-tcs-agent-mon-safe.sh /usr/local/sa/agent > /dev/null 2>&1 */1 * * * * /usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 & */20 * * * * /usr/sbin/ntpdate ntpupdate.tencentyun.com >/dev/null & 30 2 * * * /www/server/panel/certbot-auto renew >> /www/server/panel/logs/certbot.log salt '*' cron.set_job root '*' '*' '*' '*' 1 /usr/local/weekly #为指定的被控主机、root用户添加/usr/local/weekly任务作业781915e2: newsalt '789880e2' cron.rm_job root /usr/local/weekly #删除指定的被控主机、root用户crontab的/usr/local/weekly任务作业781915e2: removed
API调用:
client.cmd('*','cron.set_job,['root','*','*','*','*','*','/usr/echo'])
主机
模块
文件
功能
示例
目录
位置
用户
支持
任务
可以通过
字典
服务器
系统
作业
服务
常用
操作系统
业务
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
长沙速航软件开发有限公司
网络安全渗透测试服务
数据库如何查看数据库名称
浪潮服务器装系统自动重启
id设置数据库类型
html5本地数据库使用
郑州电脑软件开发哪家实惠
服务器管理规定规定
财务网络安全征文
凤凰之神服务器怎么用
软件开发技术部主要工作内容
提交数据库技术职业岗位的
软件开发动手能力
安全狗服务器设置
j2se电脑怎么打开数据库
网络安全慕课答案
罗马帝国下载软件开发
数据库如何计算条目数
计算机网络技术基础答案第二版
南京软件开发技术指导
服务器 域管理
曼彻斯特大学网络安全
为什么CGSS数据库进不去
5g数据服务器华为
煤矿 网络安全风险
北京计算机应用软件开发怎么样
pubchem数据库查靶点
hive是不是关系型数据库
网络安全面试官说我网上抄的
larval创建数据库