博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SaltSack入门(四)Salt常用模块使用
阅读量:6648 次
发布时间:2019-06-25

本文共 2914 字,大约阅读时间需要 9 分钟。

以下用一些实例说明salt一些常用的模块,进一步熟悉salt使用。

模块参考地址:http://docs.saltstack.cn/zh_CN/latest/ref/states/all/index.html

pkg模块:

1、安装一个软件

vim:  pkg.installed:    - name: vim-enhanced

2、安装多个软件

vim:  pkg.installed:    - names:            #多个值时,要修改为复数,names      - vim-enhanced      - lrzsz

service模块:

1、安装apache,并启动

httpd:  pkg.installed:    - name: httpd  service.running:    - enable: True    - require:             #一个声明,用于定义状态之间的依赖,说明httpd如果安装了,才执行service.running模块      - pkg: httpd     # pkg代表用的什么模块

2、将配置文件分发到apache服务器

file.managed:  - name: /etc/httpd/conf/httpd.conf  - source: salt://apache/conf/httpd.conf

3、如果apache配置文件有变动,就重新加载配置

httpd:  pkg.installed:    - name: httpd  file.managed:    - name: /etc/httpd/conf/httpd.conf    - source: salt://test/httpd.conf    - require:      - pkg: httpd  service.running:    - enable: True    - reload: True    - watch:                 #监控httpd.confp文件是否发生变化,是就重新加载httpd服务      - file: /etc/httpd/conf/httpd.conf    - require:       - pkg: httpd

cmd模块:

1、编译安装nginx

nginx_source:  file.managed:    - name: /tmp/nginx-1.6.2.tar.gz    - unless: test -f /tmp/nginx-1.6.2.tar.gz        #在这里用到了unless,就是做了个判断,判断有没有这个文件,如果没有就执行nginx_source ID,否则跳过    - source: salt://test/nginx-1.6.2.tar.gznginx_unzip:  cmd.run:    - cwd: /tmp    - names: tar zxf nginx-1.6.2.tar.gz    - unless: test -d /tmp/nginx-1.6.2    - require:      - file: nginx_sourcenginx_pkg:  pkg.installed:    - names:      - gcc      - make      - openssl-devel      - pcre-devel      - zlib-develnginx_install:  cmd.run:    - cwd: /tmp/nginx-1.6.2    - name: ./configure --prefix=/usr/local/nginx1.6 && make && make install && /usr/local/nginx1.6/sbin/nginx       #这一块为什么不用names呢,我也想用,可是他不是按顺序执行的,而是随机执行里面的命令的,容易造成了混乱。    - require:         #依赖两个ID状态,也就是必须有/tmp/nginx-1.6.2这个目录,和安装了gcc、make、pcre等这些依赖包,才执行nginx_install这个ID      - cmd: nginx_unzip                      - pkg: nginx_pkg    - unless: test -d /usr/local/nginx1.6

在这里介绍编译安装nginx思路,其中用到了file、cmd.run、pkg模块。

file模块:

1、文件分发

file_cp:  file.managed:   - name: /etc/httpd/conf/httpd.conf   - source: salt://test/httpd.conf

2、目录分发

tmp_cp:  file.recurse:    - name: /tmp    - source: salt://tmp

3、创建目录并赋予权限

/opt/tmp:  file.directory:    - user: nginx    - group: nginx    - file_mode: 744    - makedirs: True

user模块:

1、创建用户nginx

create_user:  user.present:  #用户不存在则创建,否则管理用户属性    - name: nginx    #- uid: 1501    #- gid: 1501    - createhome: False    - shell: /sbin/nologin    #- groups:    #  - nginx

2、删除用户nginx

del_user:  user.absent:    - name: abc

group模块:

1、创建组abc

create_group:  group.present:    - name: abc    #- gid: 1501    - addusers:     #添加哪些用户到此组      - user1      - user2    #- delusers:     #从此组中删除哪些用户    #  - u1    #  - u2

2、删除组abc

del_group:  group.absent:    - name: abc

cron模块:

1、添加定时任务计划

script_cron:  cron.present:    - name: /bin/bash /opt/tmp/test.sh    - user: root    - minute: 01    - hour: 0

注:minute:分

hour:时

daymonth:日

month:月

dayweek:周

 

转载地址:http://xfuto.baihongyu.com/

你可能感兴趣的文章
SPOJ3267 D-query(主席树模版)
查看>>
eslint的使用和配置
查看>>
实验报告五
查看>>
浅测微软谷歌在线办公应用
查看>>
Shell重启Tomcat脚本
查看>>
自适应网页布局可借鉴网站
查看>>
设置 viewport 实现定宽网页 WebApp 下布局自适应
查看>>
webpack+vue 我的视角(持续更新)
查看>>
[Android Pro] Android性能优化典范第一季
查看>>
[HAOI2006]受欢迎的牛
查看>>
jdbc 链接池
查看>>
快速排序
查看>>
状态模式
查看>>
m4-第7周作业
查看>>
微信更换上一次记录地址
查看>>
django rest framework批量上传图片及导入字段
查看>>
Linux 配置静态IP
查看>>
原生js实现Ajax
查看>>
C++11新特性应用--实现延时求值(std::function和std::bind)
查看>>
Mac OS X Command Line
查看>>