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. ...
随机推荐
- Spring Boot 知识笔记(创建maven项目、HTTP接口)
一.使用Maven手工创建SpringBoot应用(IDEA) 1. 点击File——New——Project——Maven——Next,填写相关信息,创建项目. 2. 在pom.xml中添加相关 ...
- ES6-Generator使用与改写
用Generator封装Symbol中的iterator方法: 注意:Generator的function后必须写* config:分别有3个txt文件,两个文件写路径,一个文件写要输出的内容 前置写 ...
- 如何排查 Linux 机器是否已经被入侵?
原文: https://mp.weixin.qq.com/s/XP0eD40zpwajdv11bsbKkw http://www.cnblogs.com/stonehe/p/7562374.html ...
- Docker环境下的前后端分离项目部署与运维(九)后端项目部署与负载均衡
数据库准备 建立数据库 renren_fast ,然后运行renrenfast项目中的db文件夹内的脚本 -- 菜单 CREATE TABLE `sys_menu` ( `menu_id` bigin ...
- 深入理解 HTTP/1.x、HTTP/2 和 HTTPS
很多站长可能到现在都没有理解 HTTP/1.x.HTTP/2 和 HTTPS 之间的区别和关系吧?说实话,明月也是“一知半解”的水准而已,今天看到了这篇文章感觉总结还算是比较全面,特此分享出来给大家就 ...
- java 查找指定包下的类
package com.jason.test; import java.io.File; import java.io.IOException; import java.io.UnsupportedE ...
- CentOS7安装RabbitMQ,并设置远程访问
如果网速慢 可以直接到百度云分享中下载,然后拉到centerOS中,进行第二步即可 两个人安装包地址,提取码:z1oz 1.安装erlang环境 wget http://www.rabbit ...
- 企业SDLC建设不成熟设想
一.说明 1.1 背景说明 之前在N市,面试的是“IT系统安全工程师”的岗位但合同上签的是“集成工程师”的名头(前阵子找之前的邮件offer才注意到的),工作内容现在看来还是和当时离职时表述一样基本一 ...
- my first blog by cnblogs
#include <stdio.h> int main() { printf("hello everyone."); ; } 上面为我的第一个C语言测试代码,仅供初学者 ...
- Application.mk文件官方使用说明
本文档介绍了 ndk-build 所使用的 Application.mk 编译文件. 我们建议先阅读概念页面,然后再阅读本页面. 概览 Application.mk 指定了 ndk-build 的项目 ...