1. 主机规划

salt 版本

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

编写执行模块文档

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

注意事项

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

2. 自编写模块注意事项

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

3. 案例

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

  1. [root@salt100 _modules]# pwd
  2. /srv/salt/_modules
  3. [root@salt100 _modules]# cat my_disk.py # 自编写的模块信息
  4. #!/usr/bin/env python3
  5. # -*- coding:utf- -*-
  6. # Author:Zhang Liang
  7.  
  8. def list():
  9. cmd = 'df -h'
  10. ret = __salt__['cmd.run'](cmd)
  11. return ret
  12.  
  13. [root@salt100 _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. [root@salt01 salt]# pwd
  2. /var/cache/salt
  3. [root@salt01 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. directories, files

在 master 操作自定义的 module

  1. [root@salt100 _modules]# salt '*' my_disk.list
  2. salt01:
  3. Filesystem Size Used Avail Use% Mounted on
  4. /dev/sda3 18G .1G 16G % /
  5. devtmpfs 901M 901M % /dev
  6. tmpfs 911M 12K 911M % /dev/shm
  7. tmpfs 911M 9.6M 902M % /run
  8. tmpfs 911M 911M % /sys/fs/cgroup
  9. /dev/sda1 197M 113M 85M % /boot
  10. tmpfs 183M 183M % /run/user/
  11. salt100:
  12. Filesystem Size Used Avail Use% Mounted on
  13. /dev/sda3 18G .1G 16G % /
  14. devtmpfs 901M 901M % /dev
  15. tmpfs 911M 28K 911M % /dev/shm
  16. tmpfs 911M 9.6M 902M % /run
  17. tmpfs 911M 911M % /sys/fs/cgroup
  18. /dev/sda1 197M 113M 85M % /boot
  19. tmpfs 183M 183M % /run/user/
  20. salt03:
  21. Filesystem Size Used Avail Use% Mounted on
  22. /dev/sda3 18G .0G 16G % /
  23. devtmpfs 901M 901M % /dev
  24. tmpfs 911M 12K 911M % /dev/shm
  25. tmpfs 911M 9.5M 902M % /run
  26. tmpfs 911M 911M % /sys/fs/cgroup
  27. /dev/sda1 197M 113M 85M % /boot
  28. salt02:
  29. Filesystem Size Used Avail Use% Mounted on
  30. /dev/sda3 18G .0G 16G % /
  31. devtmpfs 901M 901M % /dev
  32. tmpfs 911M 12K 911M % /dev/shm
  33. tmpfs 911M 9.6M 902M % /run
  34. tmpfs 911M 911M % /sys/fs/cgroup
  35. /dev/sda1 197M 113M 85M % /boot
  36. 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. HotStuff共识协议详解

    1. 前言 HotStuff提出了一个三阶段投票的BFT类共识协议,该协议实现了safety.liveness.responsiveness特性.通过在投票过程中引入门限签名实现了O(n)的消息验证复 ...

  2. UILabel(label控件)的详细使用及特殊效果

    转自:http://blog.sina.com.cn/s/blog_af73e7a70101ahlm.html UILabel *label = [[UILabelalloc] initWithFra ...

  3. HDU3247 Resource Archiver (AC自动机+spfa+状压DP)

    Great! Your new software is almost finished! The only thing left to do is archiving all your n resou ...

  4. BZOJ 3033 太鼓达人(DFS+欧拉回路)

    Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和ly ...

  5. Coderfocers-616c

    You are given a rectangular field of n × m cells. Each cell is either empty or impassable (contains ...

  6. HDU1885 Key Task

    The Czech Technical University is rather old — you already know that it celebrates 300 years of its ...

  7. Koa - 中间件(理解中间件、实现一个验证token中间件)

    前言 Koa 应用程序是一个包含一组中间件函数的对象,它是按照类似堆栈的方式组织和执行的. 当一个中间件调用 next() 则该函数暂停并将控制传递给定义的下一个中间件.当在下游没有更多的中间件执行后 ...

  8. Selenium之显式、隐式等待

    selenium自动化页面元素存在异常发生的原因有以下几点: ① 页面加载时间过慢,需要查找的元素程序已经完成,但是页面还未加载成功.此时可以加载页面等待时间. ② 查找的元素没有在当前的iframe ...

  9. 插入排序 C&&C++

    (blog主要用于展示算法流程) 插入排序算法:通过对未排序的数据逐个插入合适的位置而完成排序工作       流程: (1)先对数组前两个数据进行从小到大排序 (2)将第三个数据与前两个数据比较,将 ...

  10. 基于RT-Thread的开源飞控StarryPilot

    背景描述 近年来无人机应用市场日趋火热,无人机开始被应用在多个领域之中,比如航拍,植保,运输,安防等.随着应用场景的增加,对于无人机的大脑一飞控,的性能和功能要求也变得越来越高.国内具有一大批优质的无 ...