saltstack常用远程命令

salt命令语法

salt  ‘<操作目标>‘  <模块方法>  [参数]

 

具体有哪些<模块方法>参考:

https://docs.saltstack.com/en/develop/ref/modules/all/index.html#all-salt-modules

 

<操作目标>,Saltstack提供了多种方法对被控主机(id)进行过滤。下面列举出常用具体参数:

[[email protected] ~]# salt ‘*‘ test.ping# *匹配所有目标

-E,--pcre,通过正则表达式进行匹配:

[[email protected] ~]# salt -E ‘^node.*‘ test.ping #探测node开头的主机id名是否连通

-L,--list,以主机id名列表的形式进行过滤,格式与Python的列表相似,即不同主机id名称使用逗号分离。

[[email protected] ~]# salt -L ‘node1,node2‘ grains.item osfullname #获取主机id为:node1,node2完整操作系统发行版名称

-G,--grain,根据被控主机的grains信息进行匹配过滤,格式为:<grain value>:<grain expression>

[[email protected] ~]# salt ‘*‘ grains.items#获取grains收集的信息

[[email protected] ~]# salt -G ‘osrelease:6.6‘ cmd.run ‘uptime‘ #获取发行版本为6.6的uptime

-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: ‘[email protected]‘

web2group: ‘[email protected]‘

#其中[email protected]表示后面的主机id格式为列表,即主机id以逗号分隔:[email protected]表示以grain格式描述:[email protected]表示以IP子网或地址格式描述

salt -N web2group test.ping #探测web2group被控主机的连通性

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

salt -C ‘[email protected]^node.* and [email protected]:Centos‘ test.ping #探测node开头并且操作系统版本为CentOS的主机的连通性

-S,--ipcidr,根据被控主机的IP地址或IP子网进行匹配

salt -S 192.168.10.0/24 test.ping

salt -S 192.168.10.128 test.ping

时间: 2024-11-14 16:21:01

saltstack常用远程命令的相关文章

salt stack 工具之一——远程命令

salt stack 远程命令 salt stack是一种自动化的运维工具,可以同时对N台服务器进行配置管理.远程命令执行等操作. salt stack分为两个部分: salt-master,部署在控制服务器上,用于发出运维指令: salt-minion,部署在所有需要批量运维的线上服务器上: salt安装 服务端:yum install salt-master -y 客户端:yum install salt-minion -y 配置文件: 服务端:/etc/salt/master 服务端配置:

saltstack常用模块及组件备忘

Saltstack分为主控端和被控端.主控端的salt服务启动:systemctl start salt-master,被控端的服务启动:systemctl start salt-minion1.Saltstack的防火墙配置主控端防火墙允许TCP4505和4506端口,被控端不需要配置.原理是被控端直接与主控端的zeromq建立长链接,接受广播到的任务信息并执行. iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4506

Linux服务器开发常用的命令以及遇到的问题

1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多.参考资料:http://en.wikipedia.org/wiki/Load_average 2. 如何查看linux服务器负载 可以通过w,top,uptime,procinfo命令,也可以通过/proc/loadavg文件查看. 3. 服务器负载高怎么办? 服务器负载(load/load average)是根据进程队列的

常用 Git 命令清单

我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-nam

Android 常用 adb 命令

在开发或者测试的过程中,我们可以通过 adb 来管理多台设备,其一般的格式为: adb [-e | -d | -s <设备序列号>] <子命令> 在配好环境变量的前提下,在命令窗口当中输入 adb help 或者直接输入 adb ,将会列出所有的选项说明及子命令.这里介绍一些里面常用的命令: 1 adb devices , 获取设备列表及设备状态 2 [xuxu:~]$ adb devices 3 List of devices attached 4 44c826a0 device

常用 Git 命令清单 转

我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-nam

常用 Git 命令清单【转】

转自:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:

常用Git命令汇总

常用Git命令汇总 跟着R哥来到了新公司(一个从硬件向互联网转型中的公司),新公司以前的代码基本是使用SVN做版本控制,甚至有些代码没有做版本控制,所以R哥叫HG做了一次Git分享,准备把公司所有的代码用Git作版本控制.平时自己虽然天天使用Git,但是总感觉知识有些零散,于是汇总了一些常用的Git命令. 常用配置 --system #系统级别 --global #用户全局 --local #单独一个项目 git config --global user.name "xxxx" #用户

常用github命令

假设repository的名字叫hello-world: 1.创建一个新的repository: 先在github上创建并写好相关名字,描述. $cd ~/hello-world        //到hello-world目录 $git init                     //初始化 $git add .                   //把所有文件加入到索引(不想把所有文件加入,可以用gitignore或add 具体文件) $git commit