SaltStack--远程执行
saltstack远程执行
安装完Saltstack
后可以立即执行shell
命令,更新软件包并将文件同时分不到所有受管系统。所有回复都以一致的可配置格式返回。远程执行参考文档:http://docs.saltstack.cn/topics/tutorials/modules.html
- [root@salt-master ~]# salt '*' cmd.run "uptime"
- salt-minion01:
- :: up day, min, users, load average: 0.00, 0.03, 0.08
- salt-minion02:
- :: up :, users, load average: 0.00, 0.04, 0.10
- salt-minion03:
- :: up :, users, load average: 0.00, 0.04, 0.10
Salt命令的结构语法
- salt '<target>' <function> [arguments]
目标主机Target
1、通配符匹配
- [root@salt-master ~]# salt '*' test.ping
- [root@salt-master ~]# salt 'salt-minion01' test.ping
- [root@salt-master ~]# salt '*01' test.ping
- [root@salt-master ~]# salt 'salt-minion0[1|2]' test.ping
- [root@salt-master ~]# salt 'salt-minion0[!1|2]' test.ping
- [root@salt-master ~]# salt 'salt-minion0?' test.ping
2、列表匹配
- [root@salt-master ~]# salt -L 'salt-minion01,salt-minion02' test.ping
3、正则匹配
- [root@salt-master ~]# salt -E '^salt' test.ping
- [root@salt-master ~]# salt -E '^salt.*2$' test.ping
4、IP匹配
- [root@salt-master ~]# salt -S '192.168.1.32' test.ping
- [root@salt-master ~]# salt -S '192.168.1.0/24' test.ping
5、复合匹配
- [root@salt-master ~]# salt -C 'G@os:CentOS and S@192.168.1.32' test.ping
6、分组匹配
- [root@salt-master ~]# vim /etc/salt/master
- nodegroups:
- webserver: 'salt-minion01,salt-minion02'
- dbserver: 'salt-minion03
- [root@salt-master ~]# systemctl restart salt-master
- [root@salt-master ~]# salt -N 'webserver' test.ping
- [root@salt-master ~]# salt -N 'dbserver' test.ping
7、Grains匹配
- [root@salt-master ~]# salt -G 'os:CentOS' test.ping
- [root@salt-master ~]# salt -G 'localhost:salt-minion02' test.ping
说明:上面这些匹配方式在top.sls
文件中同样适用。
模块Module
- test 模块多用于测试
- user 模块用于用户管理
- cmd 模块可以执行任意shell命令
- pkg 模块用于软件包管理
- file 模块多用于配置
- service 模块用于服务管理
test模块
- 模块名:test
- 功能:用于测试
- [root@salt-master ~]# salt '*' test.ping
user模块
- 参考:http://docs.saltstack.cn/ref/modules/all/salt.modules.useradd.html#module-salt.modules.useradd
- # salt '*' user.add name <uid> <gid> <groups> <home> <shell>
- [root@salt-master ~]# salt '*' user.add testuser
cmd模块
- 模块名:cmd
- 功能:实现远程的命令行调用执行(默认具备root操作权限,使用时需评估风险)
- #查看所有minion内存和磁盘使用情况
- [root@salt-master ~]# salt '*' cmd.run "free -m"
- [root@salt-master ~]# salt '*' cmd.run "df -h"
pkg模块
- 模块名:pkg
- 功能:软件包状态管理,会根据操作系统不同,选择对应的安装方式(如CentOS系统默认使用yum,Debian系统默认使用apt-get)
- #安装
- [root@salt-master ~]# salt '*' pkg.install "vsftpd"
- #卸载
- [root@salt-master ~]# salt '*' pkg.remove "vsftpd"
- #安装最新版本
- [root@salt-master ~]# salt '*' pkg.latest_version "vsftpd"
- #更新软件包
- [root@salt-master ~]# salt '*' pkg.upgrade "vsftpd"
- #查看帮助手册
- [root@salt-master ~]# salt '*' pkg
file模块
- 模块名:file
- 功能:被控主机常见的文件操作,包括文件读写、权限、查找、校验
- #校验所有minion主机文件的加密信息,支持md5、sha1、sha224、shs256、sha384、sha512加密算法
- [root@salt-master ~]# salt '*' file.get_sum /etc/passwd md5
- #修改所有minion主机/etc/passwd文件的属组、用户权限、等价于chown root:root /etc/passwd
- [root@salt-master ~]# salt '*' file.chown /etc/passwd root root
- #获取所有minion主机/etc/passwd的stats信息
- [root@salt-master ~]# salt '*' file.stats /etc/passwd
- #获取所有minion主机/etc/passwd的权限mode,如755,
- [root@salt-master ~]# salt '*' file.get_mode /etc/passwd
- #修改所有minion主机/etc/passwd的权限mode为0644
- [root@salt-master ~]# salt '*' file.set_mode /etc/passwd
- #在所有minion主机创建/opt/test目录
- [root@salt-master ~]# salt '*' file.mkdir /opt/test
- #在所有minion主机穿件/tmp/test.conf文件
- [root@salt-master ~]# salt '*' file.touch /tmp/test.conf
- #将所有minion主机/tmp/test.conf文件追加内容'maxclient 100'
- [root@salt-master ~]# salt '*' file.append /tmp/test.conf 'maxclient 100'
- #删除所有minion主机的/tmp/test.conf文件
- [root@salt-master ~]# salt '*' file.remove /tmp/test.conf
service模块
- 模块名:service
- 功能:被控主机程序包服务管理
- #开启(enable)禁用(disable)
- salt '*' service.enable <service name>
- salt '*' service.disabled <service name>
- #reload、restart、start、stop、status操作
- salt '*' service.reload <service name>
- salt '*' service.restart <service name>
- salt '*' service.start <service name>
- salt '*' service.stop <service name>
- salt '*' service.status <service name>
SaltStack--远程执行的更多相关文章
- Saltstack远程执行(四)
Saltstack远程执行 语法例:salt '*' cmd.run 'w' - 命令:salt - 目标:'*' - 模块:cmd.run,自带150+模块,也可以自己写模块 - 返回:执行 ...
- 2、自动化运维之SaltStack远程执行详解
SaltStack远程执行详解 ●目标(Targeting) ●模块(Module) ●返回(Returnners) 混合模式-C 选项 主机名设置参照: redis-node1-redis03-id ...
- SaltStack远程执行-返回MySQL
上一篇:SaltStack远程执行-模块 参考官方文档:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.my ...
- Linux centosVMware 自动化运维认识自动化运维、启动salt相关服务、saltstack配置认证、salt-key命令用法、saltstack远程执行命令、saltstack - grains、saltstack – pillar
一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问 ...
- saltstack远程执行命令.md
saltstack 支持在master上向client 远程执行命令,并显示命令执行的结果 命令格式: salt '<操作目标>' <方法> [参数] 示例 示例1 ping检 ...
- SaltStack入门篇(四)之深入理解SaltStack远程执行
1.目标 2.执行模块 3.返回 salt ‘*’ cmd.run ‘uptime’ 命令 目标 执行模块 执行模块参数 1.SlatStack远程执行–目标 执行目标:https://docs.sa ...
- SaltStack远程执行
上一篇:SaltStack概述及安装 master也需要安装一个minion 启动salt-master systemctl start salt-master 配置文件在目录/etc/salt下 p ...
- 利用 Saltstack 远程执行命令
Saltstack的一个比较突出优势就是具备执行远程命令的功能. 操作方法与func (https://fedorahosted.org/func/)相似,可以帮助运维人员完成集中化的操作平台. ht ...
- SaltStack远程执行-模块
上一篇:SaltStack数据系统-Pillar 执行模块 salt 'linux-node2.example.com' service.status sshd 其中service是模块名称statu ...
- SaltStack远程执行shell脚本
编辑文件fansik.sh 脚本内容: #!/bin/bash # Author: fansik # data: 2017年 09月 26日 星期二 :: CST touch /tmp/fansik. ...
随机推荐
- Linux下rpm及yum安装jdk
笔者使用的Linux操作系统为CentOS7,Linux中有三种安装jdk的方式,在这里笔者主要介绍两种方式,即rpm和yum安装及卸载jdk,还有一种是直接从官网下载 tar.gz 压缩文件上传到L ...
- STRING Cytoscape 网络互作图
网络图(Network)看似复杂,其实构成非常简单,网络图是一种图解模型,形状如同网络,故称网络图,由节点(node)和连线(edge)两个因素组成的.其中 node 又分为 source node( ...
- 安装gerrit服务器
一.环境准备 1.Java环境 gerrit依赖,用于安装gerrit环境. 下载:jdk-7u79-linux-x64.tar.gz http://www.oracle.com/technetwor ...
- MySQL重要知识点
可能是全网最好的MySQL重要知识点 | mp.weixin.qq.com 点击蓝色“程序猿DD”关注我 回复“资源”获取独家整理的学习资料! 标题有点标题党的意思,但希望你在看了文章之后不会有这个 ...
- 【操作系统之十二】分支预测、CPU亲和性(affinity)
一.分支预测 当包含流水线技术的处理器处理分支指令时就会遇到一个问题,根据判定条件的真/假的不同,有可能会产生转跳,而这会打断流水线中指令的处理,因为处理器无法确定该指令的下一条指令,直到分支执行完毕 ...
- 【操作系统之十一】任务队列、CPU Load、指令乱序、指令屏障
一.CPU Loadcpu load是对使用或者等待cpu进程的统计(数量的累加):每一个使用(running)或者等待(runnable)CPU的进程,都会使load值+1;每一个结束的进程,都会使 ...
- 注意:MagickReadImageBlob() 引发的问题
今天发现: 如果之前的 mw 已加载了具体的图片数据后,再对这个 mw 进行: MagickReadImageBlob(mw, data, dataLen) 程序运行发生了崩溃. 最后找到原因: Ma ...
- 基于ZYNQ 的UART中断实验之串口写数据到DDR3中
1.参考 UG585 网络笔记 2.理论知识 参见上一次实验:基于ZYNQ 的UART中断实验 3.实验目的 练习使用UART的中断实验,并将接收到的数据写入到DDR3中. 4.实验过程 建立工程,设 ...
- OpenCV4.1.2 QRCode解码体验测评(附源码+支持中文)
目前官方Release的OpenCV最新版本为4.1.2,偶然看到更新信息里面QRCode解码性能有提升,所以迫不及待想尝试一下,因为上次测试了4.0版本的效果不太好. 下载和配置OpenCV的步骤此 ...
- cad问题小百科 持续更新
一些浩辰的问题移步去: 浩辰问题 (浩辰可能和桌子具有相同的问题,所以这篇你可能还是要看 cad2007遇到了这种情况 安装问题安装CAD出现C++2005问题的解决方法,出现此问题,原 ...