Saltstack-Salt常用模块及API
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Salt提供了非常丰富的功能模块,涉及操作系统的基础功能、常用工具支持等,可以通过sys模块列出当前版本支持的模块。salt '*' sys.list_modules781915e2: - acl -
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
精品咖啡豆
上海挚品互联网科技有限公司
云之行互联网科技
互联网科技有限公司经营范围
腾讯阿里互联网科技
麻工互联网科技
深圳科技互联网
互联网金融 金融科技
互联网金融公司科技
壹账通互联网科技
科技互联网公司logo
友谊互联网络科技
中正互联网科技招聘
互联网科技公司招聘
顶级互联网科技成果有哪些
西安小鹰速贷互联网科技有限公司
互联网金融科技元年
黑科技 体验场景 互联网大会
南京一网一红互联网科技有限公司
互联网科技平台产品运营
互联网科技企业
互联网科技公司排名
与互联网科技公司
善班互联网科技
互联网公司科技股
用友工业互联网科技发展
科技赋能视角下互联网保险发展
互联网公司高科技产品
互联网领先科技活动
长沙易易互联网科技有限公司