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

1. 主机规划

salt 版本

1 [[email protected] ~]# salt --version
2 salt 2018.3.3 (Oxygen)
3 [[email protected] ~]# salt-minion --version
4 salt-minion 2018.3.3 (Oxygen)

编写执行模块文档

https://docs.saltstack.com/en/latest/ref/modules/index.html        # 文档上的稍有些复杂

注意事项

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

2. 自编写模块注意事项

1 模块编写:
2     1、存放位置:/srv/salt/_modules        # 注意位置
3     2、命名:文件名就是模块名  例如:my_disk.py
4     3、刷新  salt ‘*‘ saltutil.sync_modules

3. 案例

在 salt 的 master 机器上编写module,并同步给所有的minion

 1 [[email protected] _modules]# pwd
 2 /srv/salt/_modules
 3 [[email protected] _modules]# cat my_disk.py  # 自编写的模块信息
 4 #!/usr/bin/env python3
 5 # -*- coding:utf-8 -*-
 6 # Author:Zhang Liang
 7
 8 def list():
 9   cmd = ‘df -h‘
10   ret = __salt__[‘cmd.run‘](cmd)
11   return ret
12
13 [[email protected] _modules]# salt ‘*‘ saltutil.sync_modules # 同步module 到所有的minion端
14 salt02:
15     - modules.my_disk
16 salt01:
17     - modules.my_disk
18 salt03:
19     - modules.my_disk
20 salt100:
21     - modules.my_disk

同步模块后文件在 minion 端的位置

 1 [[email protected] salt]# pwd
 2 /var/cache/salt
 3 [[email protected] salt]# tree
 4 .
 5 └── minion
 6     ├── accumulator
 7     ├── extmods
 8     │   ├── grains
 9     │   │   ├── my_grains.py
10     │   │   └── my_grains.pyc
11     │   └── modules
12     │       └── my_disk.py  # 同步模块存在的位置
13     ├── files
14     │   └── base
15     │       ├── _grains
16     │       │   └── my_grains.py
17     │       ├── _modules
18     │       │   └── my_disk.py
19     │       ├── top.sls
20     │       └── web
21     │           └── apache.sls
22     ├── highstate.cache.p
23     ├── module_refresh
24     ├── proc
25     └── sls.p
26
27 11 directories, 10 files

在 master 操作自定义的 module

 1 [[email protected] _modules]# salt ‘*‘ my_disk.list
 2 salt01:
 3     Filesystem      Size  Used Avail Use% Mounted on
 4     /dev/sda3        18G  2.1G   16G  12% /
 5     devtmpfs        901M     0  901M   0% /dev
 6     tmpfs           911M   12K  911M   1% /dev/shm
 7     tmpfs           911M  9.6M  902M   2% /run
 8     tmpfs           911M     0  911M   0% /sys/fs/cgroup
 9     /dev/sda1       197M  113M   85M  58% /boot
10     tmpfs           183M     0  183M   0% /run/user/1001
11 salt100:
12     Filesystem      Size  Used Avail Use% Mounted on
13     /dev/sda3        18G  2.1G   16G  12% /
14     devtmpfs        901M     0  901M   0% /dev
15     tmpfs           911M   28K  911M   1% /dev/shm
16     tmpfs           911M  9.6M  902M   2% /run
17     tmpfs           911M     0  911M   0% /sys/fs/cgroup
18     /dev/sda1       197M  113M   85M  58% /boot
19     tmpfs           183M     0  183M   0% /run/user/1001
20 salt03:
21     Filesystem      Size  Used Avail Use% Mounted on
22     /dev/sda3        18G  2.0G   16G  12% /
23     devtmpfs        901M     0  901M   0% /dev
24     tmpfs           911M   12K  911M   1% /dev/shm
25     tmpfs           911M  9.5M  902M   2% /run
26     tmpfs           911M     0  911M   0% /sys/fs/cgroup
27     /dev/sda1       197M  113M   85M  58% /boot
28 salt02:
29     Filesystem      Size  Used Avail Use% Mounted on
30     /dev/sda3        18G  2.0G   16G  12% /
31     devtmpfs        901M     0  901M   0% /dev
32     tmpfs           911M   12K  911M   1% /dev/shm
33     tmpfs           911M  9.6M  902M   2% /run
34     tmpfs           911M     0  911M   0% /sys/fs/cgroup
35     /dev/sda1       197M  113M   85M  58% /boot
36     tmpfs           183M     0  183M   0% /run/user/1001

原文地址:https://www.cnblogs.com/zhanglianghhh/p/10827982.html

时间: 2024-10-08 18:35:11

Saltstack_使用指南09_远程执行-编写执行模块的相关文章

Saltstack_使用指南07_远程执行-执行模块

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 模块在机器上存在的位置 1 [[email protected] modules]# pwd 2 /usr/lib/python2.7/site-packa

【shell】-【批量远程MySQL,执行命令】-【工作总结】

昨天下班前,老板给了一批LOG数据库IP地址,需要统计LOG表里Message字段top 10的结果,并输出到一个excel文件里.抽查看了下,有两种格式的以当天日期结尾的表名.由于数量太多,时间紧迫,只好写批量脚本解决问题.并以此扩展,解析其中的几个常用shell程序,主体脚本写在文章后半部分.学习shell重在灵活运用命令,形成自己的思维方式,和书写习惯,脚本参考即可. 解题过程步骤:1.梳理IP地址及对应表名2.确定查询SQL3.批量查询数据 完整脚本附在文章最后 解析下常用到的知识点:

ElasticSearch远程任意代码执行漏洞(CVE-2014-3120)分析

原理 这个漏洞实际上非常简单,ElasticSearch有脚本执行(scripting)的功能,可以很方便地对查询出来的数据再加工处理. ElasticSearch用的脚本引擎是MVEL,这个引擎没有做任何的防护,或者沙盒包装,所以直接可以执行任意代码. 而在ElasticSearch里,默认配置是打开动态脚本功能的,因此用户可以直接通过http请求,执行任意代码. 其实官方是清楚这个漏洞的,在文档里有说明: First, you should not run Elasticsearch as

远程shell脚本执行工具类

/** * 远程shell脚本执行工具类 */public class RemoteShellExecutorUtils { private static final Logger logger = LoggerFactory.getLogger(RemoteShellExecutorUtils.class); private Connection conn; /** * 服务器IP */ private String ip; /** * 用户名 */ private String user;

【知道创宇404实验室】致远OA系统远程任意代码执行高危安全漏洞预警

今日(2019年6月26日),互联网上有安全研究者预警并发布了关于致远OA系统的高危安全漏洞,***者可以通过某接口漏洞在未授权的情况下实现远程任意代码执行,最终控制整个系统权限.据悉致远OA系统是由用友致远互联旗下协同管理软件系统,在国内很多央企.大型公司都有广泛应用. 知道创宇404实验室立即启动漏洞应急流程,确定该漏洞存在致远OA系统某些型号及版本中某Servlet接口缺少必要的安全过滤,最终允许***者远程执行任意代码,并且该接口无需认证即可访问,危害巨大. 通过知道创宇旗下ZoomEy

java使用jsch远程链接linux执行命令

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader; import com.jcraft.jsch.Channel;import com.jcraft.jsch.ChannelExec;import com.jcraft.jsch.JSch;import com.jcraft.jsch.JSchException;i

Saltstack_使用指南17_salt-ssh

1. 主机规划 salt 版本 1 [[email protected] ~]# salt --version 2 salt 2018.3.3 (Oxygen) 3 [[email protected] ~]# salt-minion --version 4 salt-minion 2018.3.3 (Oxygen) salt ssh文档 https://docs.saltstack.com/en/latest/topics/ssh/index.html 2. salt-ssh实现步骤 2.1.

bash代码执行-选择执行 if or case

过程式编程语言代码执行顺序 顺序执行 逐条逐条执行 选择执行 代码有一个分支,条件满足是才会执行:两个或以上的分支只会执行其中一个分支 循环执行 代码片段(循环体)执行0,1多个来回 选择执行是指代码有一个分支,条件满足时才会执行 选择执行:   1.if语句      单分支if语句 if 测试条件:then 代码分支 fi [[email protected] testdir]# vim if1.sh #!/bin/bash #snowbamboo #2016.08.19 #单分支if语句脚

程序中使用事务来管理sql语句的执行,执行失败时,可以达到回滚的要求。

1.设置使用事务的SQL执行语句 1 /// <summary> 2 /// 使用有事务的SQL语句 3 /// </summary> 4 /// <param name="sql"></param> 5 /// <param name="conn"></param> 6 /// <param name="tran"></param> 7 /// &l