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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM