saltstack之文件管理
1.managed文件管理/srv/salt/file/managed.sls
/tmp/hyxc:
file.managed:
- source:
- salt://files/hyxc
- salt://files/hwg
- makedirs: True
# - replace: False
- user: root
- group: root
- mode: 644
- backup: minion
- template: jinja
执行如下命令完成源文件管理
salt 'test82.salt.cn' state.sls file.managed
若文件之前存在,且源文件相对有更改,则管理后在/var/cache/salt/minion/file_backup/可看见该文件的备份文件
2.append文件管理
/srv/salt/file/append.sls
/tmp/hyxc:
file.append:
- text: |
hyxc
执行如下命令在文件末尾添加一行
salt 'test82.salt.cn' state.sls file.append
3.recurse递归管理文件
/srv/salt/file/recurse.sls
/tmp/hwg:
file.recurse:
- source: salt://files/hwg
- user: nobody
- group: nobody
- file_mode: 644
- dir_mode: 755
- include_empty: Ture
# - clean: Ture
# - exclude_pat: E@(hh)
# - include_pat: E@(ss)
执行如下命令完成文件递归管理
salt 'test82.salt.cn' state.sls file.recurse
4.directory目录管理
/srv/salt/file/directory.sls
/tmp/hwg:
file.directory:
- user: root
- group: root
- dir_mode: 755
- file_mode: 644
- makedirs: True
- recurse:
- user
- group
- mode
执行如下命令即可创建目录
salt 'test82.salt.cn' state.sls file.directory
5.absent删除文件或目录
/srv/salt/file/absent.sls
/tmp/hwg:
file.absent:
- name: /tmp/hwg
执行如下命令删除文件
salt 'test82.salt.cn' state.sls file.absent
或在命令行执行如下
salt '*' file.remove /tmp/hyxc
6.注释文件的指定行,取消注释用uncomment
/srv/salt/file/comment.sls
/tmp/hyxc:
file.comment:
- regex: ^text 2
- backup : .bak
- char: #
命令行执行如下命令完成注释
salt 'test82.salt.cn' state.sls file.comment
7.rename重命名文件
/srv/salt/file/rename.sls
/tmp/jim:
file.rename:
- source: /tmp/hwg
命令行执行如下命令实现重命名
salt 'test82.salt.cn' state.sls file.rename
8.replace替换文件内容
/srv/salt/file/replace.sls
/tmp/hyxc:
file.replace:
- pattern: |
jim
- repl: |
hyxc
命令行执行如下命令进行替换
salt 'test82.salt.cn' state.sls file.replace
或命令行直接执行如下
salt '*' file.replace /path/to/file pattern='=' repl=':'
9.exists检查文件是否存在
/srv/salt/file/exists.sls
/tmp/hyxc:
file.exists:
- name: /tmp/hyxc
命令行执行如下命令检查
salt 'test82.salt.cn' state.sls file.exists
或在命令行直接执行如下命令
salt 'test82.salt.cn' file.file_exists /etc/passwd
10. 命令行执行命令
更改文件属主属组
salt '*' file.chown /etc/passwd root root
更改文件属组
salt '*' file.chgrp /etc/passwd root
页:
[1]