Saltstack-Salt常用模块及API
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,Salt提供了非常丰富的功能模块,涉及操作系统的基础功能、常用工具支持等,可以通过sys模块列出当前版本支持的模块。salt '*' sys.list_modules781915e2: - acl -
千家信息网最后更新 2025年12月01日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安全错误
数据库的锁怎样保障安全
数据库基础与应用观后感
更改数据库的某个字段值
网络安全工程师招聘重庆
成都天象网络技术有限公司官方
携程数据库技术文案
微盘软件开发贴吧
功能安全软件开发流程
软件用什么数据库
1.16.5粘液科技服务器
联想服务器主机
21年网络安全周的宣传主题
好的一元云软件开发
如何备份服务器整个系统及文件
服务器管理系统php源码
无忧考吧三级网络技术
三水软件开发培训好呢
网络技术ie题目
本地服务器没有域名
网络安全违法违规app
地铁网络安全系统
我想自己找一个服务器
技术机软件开发合同
任子行网络安全审计设备
央企软件开发会轻松点吗
瀚高数据库创建模式
惠普rx6600服务器配置
goodle服务器通讯下载
护苗网络安全知识
国内有名的软件开发商
sql数据库删除日志