saltstack内置state模块file之managed
managed管理一个模板文件,载入到各个节点并运行相应配置
salt.states.file.managed(name, source=None, source_hash='', user=None, group=None, mode=None, template=None, makedirs=False, dir_mode=None, context=None, replace=True, defaults=None, env=None, backup='', show_diff=True, create=True, contents=None, contents_pillar=None, contents_grains=None, contents_newline=True, follow_symlinks=True, check_cmd=None, **kwargs)
name
节点需要管理的文件
source
要载入到节点的源文件、源文件可以在master本地,也可以从http、https或ftp下载(要求有哈希验证),源文件路径可以有多个,以第一个为主,如果第一个不存在则尝试第二个
file_override_example: file.managed: - source: - salt://file_that_does_not_exist - salt://file_that_exists
source_hash
哈希类型支持如下几种:
Type Length ====== ====== sha512 128 sha384 96 sha256 64 sha224 56 sha1 40 md5 32
通过哈希文件验证
例:
tomdroid-src-0.7.3.tar.gz: file.managed: - name: /tmp/tomdroid-src-0.7.3.tar.gz - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz - source_hash: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.hash
通过哈希值验证
例:
tomdroid-src-0.7.3.tar.gz: file.managed: - name: /tmp/tomdroid-src-0.7.3.tar.gz - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz - source_hash: md5=79eef25f9b0b2c642c62b7f737d4f53f
user
子节点上文件属主
group
子节点上文件属组
mode
文件属性,如:644, 0775, 4664
template
文件模板类型,支持jinja, mako, wempy
makedirs
默认为False,如需要管理的文件父目录不存在则文件管理失败,设置为True,则会创建父目录。
dir_mode
设置创建的目录权限
replace
默认为True,若设置为False将不替换文件内容,但是会强制更改文件权限。
context
覆盖文件上下文参数
defaults
默认上下文参数
backup
备份功能,有改动才做备份,backup: minion 会备份到minion下的/var/cache/salt/minion/backup_files目录下
show_diff
设置成False,则不显示更改的不同点,默认为True
create
默认为True,如果设置成False,在文件存在的情况下则只更改文件
contents
默认为空,添加字符串到文件中