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