1. 主机规划

远程执行教程文档

https://docs.saltstack.com/en/latest/topics/tutorials/modules.html

所有模块文档

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

模块在机器上存在的位置

 [root@salt100 modules]# pwd
/usr/lib/python2./site-packages/salt/modules
[root@salt100 modules]# ll network.py
-rw-r--r-- root root Oct : network.py

注意事项

修改了master或者minion的配置文件,那么必须重启对应的服务。

2. 使用格式

 # salt调用包括三个主要组成部分:
salt '<target>' <function> [arguments]

2.1. 指定目标

上一篇文章详细说过,这里简单说下

 # target组件允许你过滤minion运行以下功能。默认的是minion ID,如下:
salt '*' test.ping
salt '*.example.org' test.ping # 也可以使用grains:
salt -G 'os:Ubuntu' test.ping # 也可以使用正则表达式:
salt -E 'virtmach[0-9]' test.ping # 也可以使用列表:
salt -L 'foo,bar,baz,quo' test.ping # 或者多个目标类型可以使用复合指定:
salt -C 'G@os:Ubuntu and webser* or E@database.*' test.ping

2.2. 指定执行模块

 # function是由模块提供的一些功能。Salt中有大量可用functions。列出所有可用的functions如下:
salt '*' sys.doc # 一些例子如下:
# 显示当前所有可用的 minion
salt '*' test.ping # 运行随意的shell命令:
salt '*' cmd.run 'uname -a'

2.3. 执行参数

 # 使用空格作为分隔符
salt '*' cmd.exec_code python 'import sys; print sys.version' # 可选的,关键字参数也被支持:
salt '*' pip.install salt timeout= upgrade=True
# 改格式为: kwarg=argument

3. 使用示例

3.1. network

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.network.html#module-salt.modules.network

3.2. service

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.rh_service.html#module-salt.modules.rh_service

3.3. cp【可使用Salt-cp代替】

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.cp.html#module-salt.modules.cp

另请参考:saltstack cp模块使用

基本解释:

 salt根目录:在master中 file_roots 定义的路径
例如:假设在master中有如下定义:
file_roots:
base:
- /srv/salt 那么:salt://vimrc指的实际路径是:/srv/salt/vimrc,这样做的好处是,可以满足state系统中环境的概念。

示例:

 [root@salt100 other]# pwd
/srv/salt/other
[root@salt100 other]# ll /srv/salt/other/hosts
-rw-r--r-- root root Nov : /srv/salt/other/hosts
[root@salt100 other]# salt -L 'salt01,salt02' test.ping
salt01:
True
salt02:
True
[root@salt100 other]# salt -L 'salt01,salt02' cp.get_file salt://other/hosts /tmp/hehe # 使用cp模块,拷贝到指定 minion

salt-cp使用

salt-cp -L 'salt01,salt02' /etc/hosts /tmp/kkk  # 使用 salt-cp 拷贝【建议使用,方便一些】

3.4. state

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#module-salt.modules.state    

Saltstack_使用指南07_远程执行-执行模块的更多相关文章

  1. Saltstack_使用指南09_远程执行-编写执行模块

    1. 主机规划 salt 版本 [root@salt100 ~]# salt --version salt (Oxygen) [root@salt100 ~]# salt-minion --versi ...

  2. Saltstack_使用指南02_远程执行-验证

    1. 主机规划 2. Master与哪些minion通信 2.1. Master与哪些minion正常通信 [root@salt100 ~]# salt '*' test.ping salt100: ...

  3. Saltstack_使用指南08_远程执行-返回程序

    1. 主机规划 salt 版本 [root@salt100 ~]# salt --version salt (Oxygen) [root@salt100 ~]# salt-minion --versi ...

  4. Saltstack_使用指南06_远程执行-指定目标

    1. 主机规划 Targeting Minions文档 https://docs.saltstack.com/en/latest/contents.html 另请参见:自动化运维神器之saltstac ...

  5. Samba远程代码执行-分析(CVE-2017-7494)

    经历了前一阵windows的EternalBlue之后,某天看见了360的 samba高危预警,这个号称linux端的EternalBlue(EternalRed),于是便研究了一波 概述(抄) Sa ...

  6. thinkphp5.0.22远程代码执行漏洞分析及复现

    虽然网上已经有几篇公开的漏洞分析文章,但都是针对5.1版本的,而且看起来都比较抽象:我没有深入分析5.1版本,但看了下网上分析5.1版本漏洞的文章,发现虽然POC都是一样的,但它们的漏洞触发原因是不同 ...

  7. Office CVE-2017-8570远程代码执行漏洞复现

    实验环境 操作机:Kali Linux IP:172.16.11.2 目标机:windows7 x64 IP:172.16.12.2 实验目的 掌握漏洞的利用方法 实验工具 Metaspliot:它是 ...

  8. Nexus Repository Manager 3(CVE-2019-7238) 远程代码执行漏洞分析和复现

    0x00 漏洞背景 Nexus Repository Manager 3是一款软件仓库,可以用来存储和分发Maven,NuGET等软件源仓库.其3.14.0及之前版本中,存在一处基于OrientDB自 ...

  9. WebLogic远程命令执行

    靶机说明 目标ip:172.16.53.28(window 2003) 本靶机所针对的序列化漏洞系列以及常见安全问题如下: 弱口令登陆控制台部署war包webshell CVE-2018-2893 C ...

随机推荐

  1. Python内置函数(19)——eval

    英文文档: eval(expression, globals=None, locals=None) The arguments are a string and optional globals an ...

  2. ASP.NET Core 系列目录

    目录: ASP.NET Core 2.0 : 一. 概述 ASP.NET Core 2.0:二. 开发环境 ASP.NET Core 2.0 : 三. 项目结构 ASP.NET Core 2.0 : ...

  3. 多机部署redis5.0集群环境

    redis5.0集群部署 一.集群介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redi ...

  4. Android应用系列:仿MIUI的Toast动画效果实现(有图有源码)

    前言 相信有些人用过MIUI,会发现小米的Toast跟Android传统的Toast特么是不一样的,他会从底部向上飞入,然后渐变消失.看起来效果是挺不错的,但是对于Android原生Toast是不支持 ...

  5. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署

    前面又是废话 我之前写过: Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署 Asp.Net Core 程序部署到Linux(centos)生产环境(二):doc ...

  6. linux权限之su和sudo的差别

    我们都知道非常多的文件都仅仅有root有权限来改动,那么在我们平时的开发过程中都建议使用一般账号来登录进行开发.还记得前面说到的ssh吗.我们也是将同意root登录设置成no.到必要的时候再切换到ro ...

  7. leetcode — word-ladder-ii

    import java.util.*; /** * Source : https://oj.leetcode.com/problems/word-ladder-ii/ * * * Given two ...

  8. PE知识复习之PE新增节

    PE知识复习之PE新增节 一丶为什么新增节.以及新增节的步骤 例如前几讲.我们的PE文件在空白区可以添加代码.但是这样是由一个弊端的.因为你的空白区节属性可能是只读的不能执行.如果你修改了属性.那么程 ...

  9. Spark框架详解

    一.引言 作者:Albert陈凯链接:https://www.jianshu.com/p/f3181afec605來源:简书 Introduction 本文主要讨论 Apache Spark 的设计与 ...

  10. .NET Core 如何使用Session

    第一步先注册session: 在Startup.cs文件中的ConfigureServices方法中添加: services.AddSession(); 在Startup.cs文件中的Configur ...