命令
命令格式:
salt '<操作目标>' <方法>[参数]
例:
salt 'wx' cmd.run 'free -m' #查看被控主机内存使用情况
常用参数
针对<操作目标>,Saltstack提供了多种方法对被控主机(id)进行过滤。下面列举出常用具体参数:
-E,--pcre,通过正则表达式进行匹配:
salt -E '^SN2013.*' test.ping #探测SN2013开头的主机id名是否连通
-L,--list,以主机id名列表的形式进行过滤,格式与Python的列表相似,即不同主机id名称使用逗号分离。
salt -L 'SN2013-08-021,SN2013-08-021' grains.item osfullname #获取主机id为:SN2013-08-021,SN2013-08-021完整操作系统发行版名称
-G,--grain,根据被控主机的grains信息进行匹配过滤,格式为:<grain value>:<grain expression>
salt -G 'osrelease:6.4' cmd.run 'python -V' #获取发行版本号为6.4的python版本号
-I,--pillar,根据被控主机的pillar信息进行匹配过滤,格式为:"对象名称":"对象值"
salt -I 'nginx:root:/data' test.ping #探测具有'nginx:root:/data'信息的连通性。 #pillar属性配置文件如下: nginx: root: /data
-N,--nodegroup,根据主控端master配置文件中的分组名称进行过滤。
#分组配置:【/etc/salt/master】 nodegroups: web1group: 'L@wx,SN2013-08-21' web2group: 'L@SN2013-08-22,SN2014' #其中L@表示后面的主机id格式为列表,即主机id以逗号分隔:G@表示以grain格式描述:S@表示以IP子网或地址格式描述 salt -N web2group test.ping #探测web2group被控主机的连通性
-C,--compound,根据条件运算符not、and、or去匹配不同规则的主机信息
salt -C 'E@^SN2013.* and G@os:Centos' test.ping #探测SN2013开头并且操作系统版本为CentOS的主机的连通性
-S,--ipcidr,根据被控主机的IP地址或IP子网进行匹配
salt -S 192.168.0.0/16 test.ping
salt -S 192.168.1.10 test.ping
参考资料:
根据刘天斯《Python自动化运维技术与最佳实践》整理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南