SaltStack学习系列之state常用模块
常用模块:cron,cmd,file,mount,ntp,pkg,service,user,group
cmd模块
参数:
name:要执行的命令
unless:用于检查的命令,只有unless指向的命令返回False时才执行name那行的命令
cwd:执行命令时的目录,默认为root
user:以指定用户身份运行命令
group:以指定用户组身份运行命令
run:运行name后的命令
require:确保某个模块执行之后才执行这个模块
实例
[root@test81 ~]# cat install.sls
nginx_source: ##自定义命名
file.managed:
- name: /tmp/nginx-1.4.5.tar.gz #这个是指minion端
- unless: test -f /tmp/nginx-1.4.5.tar.gz ##若minion端不存在/tmp/nginx-1.4.5.tar.gz这个文件,才会执行这个file模块
- source: salt://nginx/files/nginx-1.4.5.tar.gz ##这个是指master端文件存放的位置,意思是把master端salt://nginx/files/nginx-1.4.5.tar.gz文件copy到minion端/tmp/nginx-1.4.5.tar.gz tar_nginx: ##自定义命名
cmd.run:
- cwd: /usr/local/src ##当前工作目录
- name: tar zxvf nginx-1.4.5.tar.gz
- unless: test -d /usr/local/src/nginx-1.4.5 ##若minion端不存在/usr/local/src/nginx-1.4.5 这个目录,才会执行name后命令
- require: ##确保nginx_source里的file模块执行成功才执行这个cmd模块
- file: nginx_source
pkg模块
参数:
installed:安装
latest:将软件更新到最新
removed:删除软件
pkgs:安装多个软件包时,一次全部安装(推荐)
names:安装多个软件包时,一次安装一个(不推荐)
实例
mypkgs:
pkg.installed:
- pkgs: #安装多个软件包,用pkgs函数一次全部安装,一行一个
- gcc
- cmake
- make
#- name: httpd #安装多个软件包,一次安装一个,与pkgs一起用时,此函数将被忽略
user模块
present:创建用户
absent:删除用户
fullname:用户名
password:密码
uid:
gid:
createhome:True为创建家目录,False不创建家目录
home:用户家目录
hwg:
user.present:
- fullname: Jim
- shell: /bin/bash
- home: /home/hwg
- uid: 600
- gid: 600
- groups:
- wheel
- storage
- games
file.managed
参数:
user:用户
group:用户组
mode:文件属性(如644)
template:模板类型(比如:jinja)
makedirs:默认为False,如果被管理的文件父目录不存在则失败,如果为True,如果父目录不存在则会创建
dir_mode:设置创建目录的权限
replace:默认为True,若设置为False将不替换文件内容,但是会更改权限
context:覆盖文件上下文参数
default:默认上下文参数
backup:备份功能,有改动才备份,会备份到minion下的:/var/cache/salt/minion/backup_files
show_off:设置成False,则不显示更改的不同点,默认为True
create:默认为True,如果设置为False,在文件存在的情况下则只更改文件
contents:默认为空,添加字符串到文本中
实例:
nginx_source:
file.managed:
- name: /tmp/nginx-1.5.1.tar.gz
- unless: test -e /tmp/nginx-1.5.1.tar.gz
- user: root
- group: root
- makedirs: True
- source: salt://nginx/file/nginx-1.5.1.tar.gz
SaltStack学习系列之state常用模块的更多相关文章
- SaltStack学习系列之State安装Nginx+PHP环境
目录结构 |-- pillar | |-- nginx | | `-- nginx.sls #nginx变量(key:value) | `-- top.sls `-- salt|-- init #初始 ...
- Python学习系列(六)(模块)
Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...
- Func系列2:常用模块及API
简介 Func提供了非常丰富的功能模块,包括CommandModule(执行命令).CopyFileModule(拷贝文件).CPUModule(CPU信息).DiskModule(磁盘信息).Fil ...
- Django学习之六:Django 常用模块导入记忆
Django 常用模块导入记忆 django相关 1. urls相关操作 from django.urls import path, re_path, include from django.urls ...
- Python学习—基础篇之常用模块
常用模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
- Python学习之路13☞常用模块
一 time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(t ...
- Node.js实战项目学习系列(5) node基础模块 path
前言 前面已经学习了很多跟Node相关的知识,譬如开发环境.CommonJs,那么从现在开始要正式学习node的基本模块了,开始node编程之旅了. path path 模块提供用于处理文件路径和目录 ...
- Python学习-第四节:常用模块-logging,re,time
1:logging模块 import logging logging.debug('This is debug message') logging.info('This is info message ...
- Disconf 学习系列之Disconf 的模块架构图
不多说,直接上干货! Disconf 的模块架构主要包括: Disconf-Tools . Disconf-Web. Disconf-client 和 Disconf-Core. 每个模块的简单介 ...
随机推荐
- H.264学习笔记4——变换量化
A.变换量化过程总体介绍 经过帧内(16x16和4x4亮度.8x8色度)和帧间(4x4~16x16亮度.4x4~8x8色度)像素块预测之后,得到预测块的残差,为了压缩残差信息的统计冗余,需要对残差数据 ...
- this常用的用法
1.函数作为对象的方法时,this指的是该对象: var obj ={ name:"bob", age:25, getName:function(){ console.log(th ...
- flex布局(主要分清楚容器和条目)
设置在容器上面的属性:flex-direction.flex-wrap.flex-flow.justify-content.align-items.align-content1.flex-direct ...
- 最后一个非零数字(POJ 1604、POJ 1150、POJ 3406)
POJ中有些问题给出了一个长数字序列(即序列中的数字非常多),这个长数字序列的生成有一定的规律,要求求出这个长数字序列中某个位上的数字是多少.这种问题通过分析,找出规律就容易解决. 例如,N!是一个非 ...
- JVM中常见的垃圾收集器
垃圾收集机制是 Java 的招牌能力,极大地提高了开发效率.如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展, Java 的垃圾收集机制仍然在不断的演进中,不同大小的设备.不同特征的应用 ...
- 15数据库与ADO.Net
数据库与ADO.Net 数据库与ADO.Net 8.1 数据库基本概念 数据库提供了一种将信息集合在一起的方法.数据库应用系统主要由三部分组成:数据库管理系统(DBMS),是针对所有应用的,例如A ...
- js中5中继承方式分析
//1.借用式继承 把sup的构造函数里的属性方法克隆一份sub实例对象 function Super(){ this.val = 1; this.fun1 = f ...
- 题解 洛谷P1903/BZOJ2120【[国家集训队]数颜色 / 维护队列】
对于不会树套树.主席树的本蒟蒻,还是老老实实的用莫队做吧.... 其实这题跟普通莫队差不了多远,无非就是有了一个时间,当我们按正常流程排完序后,按照基本的莫队来,做莫队时每次循环对于这一次操作,我们在 ...
- [Python3网络爬虫开发实战] 2.3-爬虫的基本原理
我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛.把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息.可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛 ...
- linux下nginx、php和mysql安装配置
一.安装nginx 安装nginx yum install -y epel-release yum install nginx -y 查看nginx软件包包括了哪些文件 rpm -ql nginx 启 ...