Saltstack远程执行命令(3)-阿里云开发者社区

开发者社区> 科技小能手> 正文

Saltstack远程执行命令(3)

简介:
+关注继续查看

    Saltstack的一个比较突出的优势是具备执行远程命令的功能,可以帮助运维人员完成集中化的操作平台(批量执行服务器命令)

命令格式:salt '<操作目标>' <方法>[参数]

实例:查看minion主机的内存使用情况

salt 'SN2013-08-021' cmd.run 'free -m'    


其中针对<操作目标>,Saltstack提供了多种方法对minion(id)进行过滤。

(1)-E, --pcre 通过正则进行匹配。

示例:检测id是SN2013字符开头的主机是否连通

salt -E '^SN2013.*' test.ping


(2)-L, --list 以主机名列表的形式进行选择

示例:获取主机id名为SN2013-08-021,SN2013-08-022两台主机的完整操作系统发行版本名称。

salt -L 'SN2013-08-021,SN2013-08-022' grains.item osfullname


(3)-G,--grain,根据minion主机的grains(之后详细介绍)信息进行匹配过滤

示例:获取主机发型版本号为6.4的Python版本号

salt -G 'osrelease:6.4' cmd.run 'python -V'


(4)-I,--pillar,根据minion的pillar(之后详细介绍)的信息进行匹配过滤

示例:探测具有“nginx:root:/date”信息的主机连通性

salt -I 'nginx:root:/date' test.ping


(5)-N,nodegroup,根据master配置文件中的分组名称进行过滤,分组通常可以根据业务类型、主机配置等信息进行分组。

【etc/salt/master】

 nodegroups:

    web1group: 'L@SN2012-07-010,SN2012-07-011,SN2012-07-012'

    web2group: 'L@SN2013-08-021,SN2013-08-022'

其中,L@表示后面的主机id格式为列表,以逗号分隔;G@表示以grain而是描述;S@表示以IP子网或地址格式描述

示例:web2group组里所有主机的连通性

salt -N web2group test.ping


(6)-C, --compound,根据条件运算符not、and、or去匹配不同规则的主机信息

示例:探测SN2013开头并且操作系统版本为Centos的主机连通性

salt -c 'E@^2013.* and G@os:Centos' test.ping    E@的意思是根据正则匹配


(7)-S, --ipcidr,根据minion主机的IP或者IP子网进行匹配

示例:根据IP及子网进行匹配

salt -S 192.168.0.0/16 test.ping

salt -S 192.168.1.10 test.ping



批量修改远程server密码

salt '*' cmd.run 'echo "密码"|passwd --stdin root'


本文转自 转身撞墙角 51CTO博客,原文链接:http://blog.51cto.com/chentianwang/1731939


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
本地使用SVN编辑发布远程SAE工程
一、通过SVN本地修改远程仓库代码1、复制SVN仓库地址 2、在本地PC上开一个空目录,右键找到SVN Checkout 在SVN地址栏输入仓库地址 3、输入SAE的安全邮箱和安全密码下载远程仓库工程到本地。
807 0
宜信如何做到既满足远程办公的短时便利性需求,又不丧失安全性
宜信如何做到既满足远程办公的短时便利性需求,又不丧失安全性
3244 0
【高危漏洞预警】CVE-2017-9805:Struts2 REST插件远程执行命令漏洞(S2-052)
2017年9月5日,Struts官方发布一个严重级别的安全漏洞,该漏洞编号为:S2-052,在一定条件下,攻击者可以利用该漏洞远程发送精心构造的恶意数据包,获取业务数据或服务器权限,存在高安全风险。
3211 0
fbh
cmd命令行访问远程mysql数据库
要想远程访问mysql数据库,需要在本地安装mysql数据库软件,客户端软件也可以。 然后在cmd下执行 mysql -uhello -pworld -h192.
1249 0
mysql下命令行执行sql脚本
1. 登录mysql   mysql -uroot -p   2. 执行脚本   mysql>use dbname;   mysql>source /home/db/xx.sql  
499 0
23706
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载