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. 每个模块的简单介 ...
随机推荐
- qt查找框设置
转载请注明出处:http://www.cnblogs.com/dachen408/p/7229129.html 主界面弹出查找框方法,查找框显示在主界面上层,并还可以点击主界面,非模态. class ...
- ES6语法糖集锦
sublime3安装Es6插件 javascriptNext,然后安装即可 JavaScriptNext - ES6 Syntax()高亮插件 -------------------------- ...
- UEFI启动 安装win8 win10 及windows server 2012 最简单的方法
纯UEFI模式只认U盘 纯UEFI模式下U盘安装的具体步骤其实很简单: 1.BIOS设置中启动项关闭兼容模式 ...
- 迅为iTOP-4418/6818开发板MiniLinux下的GPS使用手册
平台:iTOP-4418/6818开发板 系统:MiniLinux 在 Mini Linux 系统环境下 iTOP-4418 和 6818 的 GPS 实验调试步骤.给用户提供了“iTOP-4418- ...
- sh NonUniqueObjectException
话题引入: 使用hibernate进行更新操作时,首先调用了findById方法获取要修改的对象,此时session没有被关闭,接着重新创建一个对象,将要修改的属性值赋值给这个对象.调用修改方法抛出如 ...
- 关于Maven项目的pom.xml中的依赖或插件失效的解决方法
1.请将<dependency>标签包含的依赖从<dependencyManagement>中拿出来,单独放在<dependencies>标签里面.2.请将< ...
- C# defult关键字
一.问题 今天写一个函数提示用defult,因为第一次用记录一下 public static T GetConfig<T>(string strConfig) { try { return ...
- li标签和checkbox绑定
参考原文:https://www.cnblogs.com/youxin/p/3885496.html 我们经常需要li或span包含一个checkbox,不管点击checkbox或li都会触发相应的事 ...
- 51node 1134 最长递增子序列 (数据结构)
题意: 最长递增子序列 思路: 普通的$O(n^2)$的会超时.. 然后在网上找到了另一种不是dp的写法,膜拜一下,自己写了一下解释 来自:https://blog.csdn.net/Adusts/a ...
- CSU 2018年12月月赛 H(2220): Godsend
Description Leha somehow found an array consisting of n integers. Looking at it, he came up with a t ...