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内置函数(44)——next

    英文文档: next(iterator[, default]) Retrieve the next item from the iterator by calling its __next__() m ...

  2. Python内置函数(37)——len

    英文文档: len(s) Return the length (the number of items) of an object. The argument may be a sequence (s ...

  3. 1.MySQL(一)

    数据库简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库 RDBMS 即关系数据库管理系统(Relational Database Management System) 1.特 ...

  4. 【Vue】IView之table组件化学习(二)

    最基本的绑定table是这样的,需要columns和data两个属性. <template> <Card> <h4>表格栗子</h4> <Tabl ...

  5. RabbitMQ学习笔记(四) Routing

    新的场景 在我们学习了RabbitMQ的发布与订阅之后,我们很容易就可以完成一个简单的消息群发器. 使用这个消息群发器,所有的消费者程序实例都会接收到相同的消息信息,从而实现广播的效果. 但是这种广播 ...

  6. 通过LRU实现通用高效的超时连接探测

    编写网络通讯都要面对一个问题,就是要把很久不存活的死连接清除,如果不这样做那死连接最终会占用大量内存影响服务运作!在实现过程中一般都会使用ping,pong原理,通过ping,pong来更新连接的时效 ...

  7. 传统HTML页面实现模块化加载

    对于网站来说很多页面之间都有着大量的共享模块,如页头,页脚和用户栏等.对于具备后端视图引擎的框架来说这些共享都比较容易抽取,如asp.net mvc来说就有统一布局的MasterPage,@Secti ...

  8. SpringBoot入门教程(十三)CORS方式实现跨域

    什么是跨域?浏览器从一个域名的网页去请求另一个域名的资源时,域名.端口.协议任一不同,都是跨域 . 跨域资源访问是经常会遇到的场景,当一个资源从与该资源本身所在的服务器不同的域或端口请求一个资源时,资 ...

  9. 16-Flink-Redis-Sink

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  10. Docker系列06—基于容器制作镜像并上传到Docker Registry

    本文收录在容器技术学习系列文章总目录 1.制作镜像 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 本篇主要详细讲解基于容器制作镜像:基于dockerfile 制 ...