1. 主机规划

salt 版本

 [root@salt100 ~]# salt --version
salt 2018.3. (Oxygen)
[root@salt100 ~]# salt-minion --version
salt-minion 2018.3. (Oxygen)

编写执行模块文档

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

注意事项

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

2. 自编写模块注意事项

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

3. 案例

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

 [root@salt100 _modules]# pwd
/srv/salt/_modules
[root@salt100 _modules]# cat my_disk.py # 自编写的模块信息
#!/usr/bin/env python3
# -*- coding:utf- -*-
# Author:Zhang Liang def list():
cmd = 'df -h'
ret = __salt__['cmd.run'](cmd)
return ret [root@salt100 _modules]# salt '*' saltutil.sync_modules # 同步module 到所有的minion端
salt02:
- modules.my_disk
salt01:
- modules.my_disk
salt03:
- modules.my_disk
salt100:
- modules.my_disk

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

 [root@salt01 salt]# pwd
/var/cache/salt
[root@salt01 salt]# tree
.
└── minion
├── accumulator
├── extmods
│ ├── grains
│ │ ├── my_grains.py
│ │ └── my_grains.pyc
│ └── modules
│ └── my_disk.py # 同步模块存在的位置
├── files
│ └── base
│ ├── _grains
│ │ └── my_grains.py
│ ├── _modules
│ │ └── my_disk.py
│ ├── top.sls
│ └── web
│ └── apache.sls
├── highstate.cache.p
├── module_refresh
├── proc
└── sls.p directories, files

在 master 操作自定义的 module

 [root@salt100 _modules]# salt '*' my_disk.list
salt01:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G .1G 16G % /
devtmpfs 901M 901M % /dev
tmpfs 911M 12K 911M % /dev/shm
tmpfs 911M 9.6M 902M % /run
tmpfs 911M 911M % /sys/fs/cgroup
/dev/sda1 197M 113M 85M % /boot
tmpfs 183M 183M % /run/user/
salt100:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G .1G 16G % /
devtmpfs 901M 901M % /dev
tmpfs 911M 28K 911M % /dev/shm
tmpfs 911M 9.6M 902M % /run
tmpfs 911M 911M % /sys/fs/cgroup
/dev/sda1 197M 113M 85M % /boot
tmpfs 183M 183M % /run/user/
salt03:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G .0G 16G % /
devtmpfs 901M 901M % /dev
tmpfs 911M 12K 911M % /dev/shm
tmpfs 911M 9.5M 902M % /run
tmpfs 911M 911M % /sys/fs/cgroup
/dev/sda1 197M 113M 85M % /boot
salt02:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G .0G 16G % /
devtmpfs 901M 901M % /dev
tmpfs 911M 12K 911M % /dev/shm
tmpfs 911M 9.6M 902M % /run
tmpfs 911M 911M % /sys/fs/cgroup
/dev/sda1 197M 113M 85M % /boot
tmpfs 183M 183M % /run/user/

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

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

    1. 主机规划 远程执行教程文档 https://docs.saltstack.com/en/latest/topics/tutorials/modules.html 所有模块文档 https://d ...

  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. Python 实现远程服务器批量执行命令

    paramiko 远程控制介绍 Python paramiko是一个相当好用的远程登录模块,采用ssh协议,可以实现linux服务器的ssh远程登录.首先来看一个简单的例子 import parami ...

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

    昨天下班前,老板给了一批LOG数据库IP地址,需要统计LOG表里Message字段top 10的结果,并输出到一个excel文件里.抽查看了下,有两种格式的以当天日期结尾的表名.由于数量太多,时间紧迫 ...

  7. WordPress wp-includes/functions.php脚本远程任意代码执行漏洞

    漏洞名称: WordPress wp-includes/functions.php脚本远程任意代码执行漏洞 CNNVD编号: CNNVD-201309-166 发布时间: 2013-09-13 更新时 ...

  8. Struts 2最新0day破坏性漏洞(远程任意代码执行)等的重现方法

    Struts 2的远程任意代码执行和重定向漏洞,是这两天互联网上最重大的安全事件,据说国内互联网企业中,很多电商纷纷中招,应该已经有大规模的用户隐私泄露.这里我们简单总结下怎样在自己机子上重现这些漏洞 ...

  9. 判断ssh远程命令是否执行结束

    注:这是一个没什么鸟用的功能.不过也算是一种拓展. 通常在那些"一键化部署"的shell脚本中,可能需要使用ssh执行远程命令来实现一些简单的自动化,这些远程命令可能需要执行一段时 ...

随机推荐

  1. 使用SQL计算宝宝每次吃奶的时间间隔

    需求:媳妇儿最近担心宝宝的吃奶时间不够规律,网上说是正常平均3小时喂奶一次,让我记录下每次的吃奶时间,分析下实际是否偏差很大,好在下次去医院复查时反馈给医生. 此外,还要注意有时候哭闹要吃奶,而实际只 ...

  2. python 列表越界

    data = [1,8,5,9,7,4,5] print(data[10:]) #返回空 print(data[10]) #出错,越界

  3. iOS开发 为何 大不如前?原因竟然是这个?

    前言: 近期,社会上对iOS开发行业的负面信息越来越多,并且还被一些黑骗机构的胡诌八扯越描越黑,现在iOS开发按照开发者与公司招聘的数量上来看,是显示的供大于求,但是从各公司的招人计划上来看,明显是供 ...

  4. ES6中export default与export的区别

    1.export default 和export都可以用于导出常量,函数,文件,模块等: 2.可以在模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使 ...

  5. 35个Java代码优化的细节,你知道几个?

    前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没 ...

  6. js打乱数组排序

    用到的知识点:Math.random()//用于打乱数组索引 random() 方法可返回介于 0(包含) ~ 1(不包含) 之间的一个随机数. var arr=[1,2,3,4,5,6]; for( ...

  7. 原生js入门级测试题及答案

    01.屏幕打印2000到3000之间的所有的数. <script type="text/javascript"> for (var i = 2000; i < 3 ...

  8. tomcat session共享

    1.版本 redis3.2   nginx   tomcat8.5 2.下载jar包  tomcat-cluster-redis-session-manager 解压后大家可以看看 readMe.tx ...

  9. java基础集合简介List/Vector(三)上

    集合特点: 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:集合是可变长度的. 集合和数组的区别: 1:数组是固定长度的:集合可变长度的. 2:数组可以存储基本数据类型,也可以存储引用数 ...

  10. Python读写Excel表格(简单实用)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:giao窝里giao首先安装两个库:pip install xlrd. ...