SaltStack 批量分发目录

这里演示如何将 salt-master 上的目录批量分发到多台 salt-minion,步骤如下:

[root@localhost ~]$ cat /srv/salt/top.sls    # 先定义入口配置文件
base:
  '*':
    - send_directory
[root@localhost ~]$ cat /srv/salt/send_directory.sls    # 定义要加载的sls文件
send_directory:                                         # send_directory 只是一个标识,方便我们查看这个文件的作用
  file.recurse:                                         # file.recurse函数用来管理文件
    - name: /tmp/test                                   # 指定分发到目标 minion 的哪个目录,如果目标目录存在会被覆盖
    - source: salt://test                               # 指定源目录的路径,salt://test 相当于 /srv/salt/test
    - user: root                                        # 指定目录的属主
    - file_mode: 640                                    # 指定目录下文件的权限
    - dir_mode: 750                                     # 指定目录下子目录的权限
    - mkdir: True                                       # 如果目标路径没有该目录,则自动创建该目录
    - clean: True                                       # 设置当我们删除源目录下的文件或目录时,如果再执行该sls文件,那么目标也会跟着删除
# 注意:file.recurse 并不会一锅端把源目录覆盖到目标目录,如果源目录下的子目录没有文件,那么这个子目录是不会被分发过去的
[root@localhost ~]$ mkdir /srv/salt/test        # 创建源目录
[root@localhost ~]$ salt '*' state.highstate    # 通过state模块,会自动去找/srv/salt/top.sls文件,然后top.sls会去加载send_directory.sls文件,最终实现目录分发

 

 

 

 

 

    

posted @ 2019-01-15 18:28  孔雀东南飞  阅读(994)  评论(0编辑  收藏  举报