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. 出去html中的标签

    C#写法 public static string StripHTML(string strHtml) { string strOutput = strHtml; Regex regex = new ...

  2. Web Server 与 App Server

    Web Server 常见的Web Server有Apache Server与Nginx. Apache Http Server是Apache软件基金会下的一个项目,是一款开源的HTTP服务器软件(它 ...

  3. python json 数据操作

    python 有专门针对 json 操作的函数 #!/usr/bin/python3 import json mytest_js = { "a" : 1, "b" ...

  4. STM32 ADC多通道转换

    描述:用ADC连续采集11路模拟信号,并由DMA传输到内存.ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ.在每次转换结束后,由DMA循环将转换的数据传输到内存中.ADC可以连续采集N ...

  5. jquery 异步处理

    <!DOCTYPE html> <head> <script type="text/javascript" src="jquery-1.12 ...

  6. jQuery(八):属性操作

    一.获取或设置元素的属性值 attr()获取或设置匹配元素的属性值,语法如下: 获取元素属性值示例: <!DOCTYPE html> <html lang="en" ...

  7. Java Rest客户端框架有哪些

    HttpClient HtmlUnit Jsoup HttpUrlConnection(java原生) Http4j

  8. combobox无法显示选中的数据,都是undefined

    $('#firstfactor').combobox({                url: '@Url.Action("GetMultiAirFactor_Day_New", ...

  9. 安卓程序代写 网上程序代写[原]C语言基础

    C 作者:han1202012 发表于2013-11-1 19:53:29 原文链接 阅读:28 评论:0 查看评论

  10. Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结

    转自:http://blog.csdn.net/zhongwen7710/article/details/39577431 本blog的内容包含: 第一部分:Hbase框架原理理解 第二部分:Hbas ...