saltstack 实战:配置管理文件
文件管理
master上
vi /etc/salt/master 
# 搜索找到file_roots
 打开如下内容的注释:
file_roots:
  base: 
    - /srv/salt创建目录
mkdir /srv/salt 
cd /srv/salt配置入口文件
# /srv/salt/top.sls  
# 加入如下内容
base:
  '*':  #前面有两个空格
    - file #前面有4个空格
# 意思是,在所有的客户端上执行httpd模块重启master服务
systemctl restart salt-master配置管理文件
master上加入如下内容
# vi /srv/salt/file.sls
file_test:
  file.managed:
    - name: /tmp/ping.com
    - source: salt://test/123/1.txt
    - user: root
    - group: root
    - mode: 600说明:第一行的file_test为自定的名字,表示该配置段的名字,可以在别的配置段中引用它,source指定文件从哪里拷贝,这里的salt://test/123/1.txt相当于是/srv/salt/test/123/1.txt
实验配置文件
mkdir /srv/salt/test/123
cp /etc/passwd /srv/salt/test/123/1.txt修改入口文件
# vi /srv/salt/top.sls
base:
 '*':
  - test执行
salt 'salt2' state.highstate  # 检查salt2上是否有/tmp/ping.com,检查内容以及权限
salt 'salt2' state.apply file # 指定更新某个sls目录管理
master上
# /srv/salt/dir.sls
file_dir:
  file.recurse:
    - name: /tmp/testdir
    - source: salt://test/123
    - user: root
    - file_mode: 640
    - dir_mode: 750
    - mkdir: True
    - clean: True  # 加上它之后,源删除文件或目录,目标也会跟着删除,否则不会删除修改入口文件
base:
 '*':
  ...
  ...
  - dir执行: salt 'salt2' state.apply dir 检查salt上是否有/tmp/testdir,检查里面的目录、文件以及权限
注意:如果source对应的目录里有空目录的话,客户端上不会创建该目录
最后更新于
这有帮助吗?