saltstack自带的模块已经很多了,但是有些时候我们需要自己开发出自己的模块来满足自己的需求,那就要自己开发了,下面请看例子

创建_modules目录在file_roots下面

我们需要在file_roots下面创建_modules目录,然后在这个目录下面编写自己的模块

[root@linux-node1 /srv/salt/base]# mkdir _modules
[root@linux-node1 /srv/salt/base/_modules]# cat my_disk.py
def show_disk():
cmd = 'df -h'
ret = __salt__["cmd.run"](cmd)
return ret

同步模块

写完模块后,我们需要把这个模块同步到其他的minion上

[root@linux-node1 /srv/salt/base/_modules]# salt \* saltutil.sync_modules
linux-node2.example.com:
- modules.my_disk
linux-node1.example.com:
- modules.my_disk

同步完成后,我们执行这个模块

[root@linux-node1 /srv/salt/base/_modules]# salt \* my_disk.show_disk
linux-node1.example.com:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 2.6G 46G 6% /
devtmpfs 902M 0 902M 0% /dev
tmpfs 912M 28K 912M 1% /dev/shm
tmpfs 912M 17M 896M 2% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 158M 857M 16% /boot
tmpfs 183M 0 183M 0% /run/user/0
linux-node2.example.com:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 2.6G 46G 6% /
devtmpfs 902M 0 902M 0% /dev
tmpfs 912M 12K 912M 1% /dev/shm
tmpfs 912M 17M 896M 2% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 158M 857M 16% /boot
tmpfs 183M 0 183M 0% /run/user/0

minion保存模块的地方

minion保存模块的地方在 /var/cache/salt/minion/extmods/modules/

[root@linux-node2 ~]# cat /var/cache/salt/minion/extmods/modules/my_disk.py
def show_disk():
cmd = 'df -h'
ret = __salt__["cmd.run"](cmd)
return ret

1 salt执行模块开发的更多相关文章

  1. 10 masterless、高可用、salt执行模块开发、sydic架构

    1.salt无master 官方文档: http://docs.saltstack.cn/topics/tutorials/quickstart.html 1.使用场景 1.在项目中使用salt,写一 ...

  2. js模块开发(一)

    现在嵌入页面里面的javascript代码越来越复杂,于是可能依赖也越来越严重,使用别人开发的js也越来越多,于是在理想情况下,我们只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块. 于是j ...

  3. 基于ASP.NET MVC的热插拔模块式开发框架(OrchardNoCMS)--模块开发

    之前文章中给大家说明了下我这个小小的想法,发现还是有不少人的支持和关注.你们的鼓励是对我最大的支持. 我总结了了大家的评论,有以下几个问题: 1.希望有更多的文档说明. 2.希望介绍下Orchard的 ...

  4. nginx模块开发篇 (阿里著作)

    背景介绍 nginx历史 使用简介 nginx特点介绍 nginx平台初探(100%) 初探nginx架构(100%) nginx基础概念(100%) connection request 基本数据结 ...

  5. 【转】Nginx模块开发入门

    转自: http://kb.cnblogs.com/page/98352/ 结论:对Nginx模块开发入门做了一个helloworld的示例,简单易懂.也有一定的深度.值得一看. Nginx模块开发入 ...

  6. Nginx模块开发入门

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  7. [转] Nginx模块开发入门

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  8. Nginx模块开发入门(转)

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  9. Twitter模块开发

    Twitter模块开发 关于Twitter这一块,自发这篇博文之后有很多人问我,有的验证成功了不跳转,或者其它原因什么的 =======我看了一下,这篇博文里面有写呀,下面以红色粗体文字注明一下 Tw ...

随机推荐

  1. thinkphp前台模版字符串截取

    ThinkPHP\Common\extend.php 中管理前台模版的截取{$vons.title|msubstr=0,26} 原始的代码是无法使用截取支持…. 由于涉及到只有汉字检测最为准确 需要加 ...

  2. RRDtool运用

    一 建立RRD数据库(.rrd文件) $ rrdtool RRDtool Copyright - by Tobias Oetiker <tobi@oetiker.ch> Compiled ...

  3. SQLServer2005重建索引前后对比【转】

    在做维护项目的时,我们经常会遇到索引维护的问题,通过语句,我们就可以判断某个表的索引是否需要重建. 执行一下语句:先分析表的索引 分析表的索引建立情况:DBCC showcontig('Table') ...

  4. .net修炼笔记

    1. 底层基础概念 CIL(Common Intermediate Language) 中间语言(C# VB 最终编译成CIL语言) BCL(Base Class Library) 基础类库 (Sys ...

  5. git设置HTTP代理

    git设置HTTP代理 设置HTTP代理 如果公司使用代理,git就需要设置代理才能克隆远程仓库 执行下面两条语句 git config --global http.proxy 10.167.32.1 ...

  6. Centos7.3防火墙配置

    1.查看firewall服务状态 systemctl status firewalld 2.查看firewall的状态 firewall-cmd --state 3.开启.重启.关闭.firewall ...

  7. MinGW32和64位交叉编译环境的安装和使用

    原文出处: CompileGraphics Magick, Boost, Botan and QT with MinGW64 under Windows 7 64 http://www.kinetic ...

  8. 关于Unity中的光照(二)

    光源 1: 光照的本质:就是光的颜色和物体纹理的颜色的混合;2: 光源类型: 点光源,定向光源,聚光灯, 区域光源; 区域光的范围会在场景中用黄色的光显示出来; z轴是光的方向; 光的强度会随距离衰减 ...

  9. Linux C++ 访问子目录以及里面的文件

    #include <iostream> #include <fstream> #include <string> #include <vector> # ...

  10. 第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询

    第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询 bool查询说明 filter:[],字段的过滤,不参与打分must:[] ...