关键词:
常用模块:cron,cmd,file,mount,ntp,pkg,service,user,group
cmd模块
参数:
name:要执行的命令
unless:用于检查的命令,只有unless指向的命令返回False时才执行name那行的命令
cwd:执行命令时的目录,默认为root
user:以指定用户身份运行命令
group:以指定用户组身份运行命令
run:运行name后的命令
require:确保某个模块执行之后才执行这个模块
实例
[[email protected] ~]# 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系列之states配置管理和jinja模板的使用
States配置管理States是Saltstack中的配置语言,在日常进行配置管理时需要编写大量的StatesSLS文件,而编写这些SLS文件的一般步骤也就是我们平时手动配置一台服务器的步骤:首先安装源码包,然后管理一个配置文件,最后再保证这... 查看详情
saltstack之远程执行其它常用模块
练习内容远程执行其他模块官方模块有很多超过300+1.cmd.run2.network3.service4.state演示cmd.run模块可以执行系统命令,超级模块有安全隐患,也可以更模块源代码限制危险命令执行比如(rmreboot等),二次开发一般不用此模块[[email ... 查看详情
saltstack系列之state相关介绍
一、管理对象saltstack系统中管理对象叫做Target,在master上可以采用不同的Tatget去管理不同的minion。这些Target都是通过去管理和匹配Minion的ID来做一些集合。1.1 -E,--pcre:正则匹配#salt-E‘[a-z].*‘test.ping #直接就是匹配字母开... 查看详情
saltstack学习系列之自定义grains
Master端打开存放自定义grains的目录vim/etc/salt/masterfile_roots:base:-/srv/salt/建立自定义模块cd/srv/saltmkdir_grainscd_grains编写自定义grainscatdisk.pyimportosdefdisk():grains={}disk=os.popen(‘fdisk-l|grep‘Disk‘|grep-v‘ 查看详情
saltstack常用模块之file和mysqllvs(代码片段)
SaltStack常用模块之file和mysql、lvs文章目录SaltStack常用模块之file和mysql、lvsfile.accessfile.appendfile.basenamefile.dirnamefile.check_hashfile.chattrfile.chownfile.copyfile.ditectory_existsfile.diskusagefile.file_exi 查看详情
saltstack常用模块之file和mysqllvs(代码片段)
SaltStack常用模块之file和mysql、lvs文章目录SaltStack常用模块之file和mysql、lvsfile.accessfile.appendfile.basenamefile.dirnamefile.check_hashfile.chattrfile.chownfile.copyfile.ditectory_existsfile.diskusagefile.file_exi 查看详情
实例学习ansible系列常用模块之user/group
知识点:user模块,用于管理用户。知识点:group模块,用于管理group。使用user模块添加用户[root@host31~]#ansiblehost32-mcommand-a"idtest01"host32|FAILED|rc=1>>id:test01:nosuchuser[root@host31~]#ansiblehost32-muser-a"name=test01group=root"host32|SUCCESS=>"change... 查看详情
saltstack常用的模块(代码片段)
SaltStack常用的模块文章目录SaltStack常用的模块SaltStack模块介绍SaltStack常用模块SaltStack常用模块之networknetwork.active_tcpnetwork.calc_netnetwork.connectnetwork.default_routenetwork.get_fqdnnetwork.get_hostnamenetwork.get_rou 查看详情
saltstack常用的模块(代码片段)
SaltStack常用的模块文章目录SaltStack常用的模块SaltStack模块介绍SaltStack常用模块SaltStack常用模块之networknetwork.active_tcpnetwork.calc_netnetwork.connectnetwork.default_routenetwork.get_fqdnnetwork.get_hostnamenetwork.get_rou 查看详情
自动化运维saltstack系列之配置管理系统模块
架构图Saltstack配置管理大型web架构网站其实并不是很难,最主要是合理管理各功能模块之间依赖关系,尽量独立各功能模块,让每一个系统功能都可以被业务引用。650)this.width=650;"title="1476016541399068.png"alt="saltstack.png"src="http://www.l... 查看详情
自动化运维saltstack系列之配置管理业务模块
业务模块 业务模块要尽量和系统模块区分开,系统模块要做到随时能被业务模块所调用;特别是在多种业务模式共存的环境中,我们要使每个业务模块独立一个prod环境,方便统一管理而不影响其他业务。PHP模块[[email prot... 查看详情
关于saltstack核心模块state详解(代码片段)
一、问题背景: 学习使用自动运维工具saltstack的过程中,其中state模块是帮助管理员控制minion达到一个预想的状态。换句话来说,我想让minion能够远程执行命令,自动配置环境文件,软件安装、服务启动、关闭,信息收集等... 查看详情
saltstack常用的模块续(代码片段)
SaltStack常用的模块续文章目录SaltStack常用的模块续SaltStack常用模块之filefile.accessfile.appendfile.basenamefile.dirnamefile.check_hashfile.chattrfile.chownfile.copyfile.ditectory_existsfile.diskusagefile.file_existsfile. 查看详情
saltstack实战之配置管理-状态间关系
SaltStack实战之配置管理-状态间关系学习 SaltStackSaltStack实战之配置管理-状态间关系1.状态相关模块1.1pkg1.2file1.3service1.4requisites2.实际应用1.状态相关模块1.1pkg状态模块:pkg 功能:管理软件包状态 常用方法:pkg.installed#... 查看详情
saltstack实战之配置管理-状态间关系
SaltStack实战之配置管理-状态间关系学习 SaltStackSaltStack实战之配置管理-状态间关系1.状态相关模块1.1pkg1.2file1.3service1.4requisites2.实际应用1.状态相关模块1.1pkg状态模块:pkg 功能:管理软件包状态 常用方法:pkg.installed#... 查看详情
saltstack实战之数据系统-grains
SaltStack实战之数据系统-Grains学习 SaltStackSaltStack实战之数据系统-Grains1.Grains应用场景2.Grains应用示例1.Grains应用场景Grains可以在state系统中使用,用于配置管理模块。Grains可以在target中使用,用来匹配minion,比如匹配操作系统... 查看详情
二saltstack常用模块和jinja模版(代码片段)
1配置管理-状态模块pkgfileserverhttps://www.unixhot.com/docs/saltstack/ref/states/highstate.html状态模块的特点:状态是不可以回滚的。写好的状态模块要支持多次执行。[[email protected]~]#cat/srv/salt/web/apache.slsapache-install:#名称声明(id声明)高 查看详情
自动化运维之saltstack常用模块使用之file
1、file.accessfile.access:测试salt进程对指定文件是否有访问权限[[email protected] salt]# salt ‘*‘ file.access /etc/passwd fserver02: Trueserver03: &n 查看详情