ret43543 发表于 2015-9-16 09:45:07

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]
查看完整版本: saltstack之文件管理