娃哈哈好喝-真的!
技术够用就行,吃好喝好睡好!

saltstack 文件同步更新 同步删除

今天遇到一个坑,我觉得有必要来填补一下

salt 的文件同步功能网上找的大部分功能都是描述怎么同步到minion端,同步方式只增不减,这有什么意义,今天就是解决这没有意义的事。

安装配置就不介绍了,直接上配置:master的配置,主要看file_roots开始的部分

[root@server1 ~]# cat /etc/salt/master | grep -v "#" | grep -v "^$"
interface: 0.0.0.0
publish_port: 4505
user: root
ret_port: 4506
pidfile: /var/run/salt-master.pid
worker_threads: 4
file_roots:
base:
   - /data/salt
dev:
   - /data/salt/tools
log_file: /var/log/salt/master

接下来进入到配置的根目录下:

[root@server1 ~]# cd /data/salt
[root@server1 salt]# ls
file_rsync.sls tools
[root@server1 salt]#
有这样一个文件:file_rsync.sls,手动创建它,内容如下:

[root@server1 salt]# cat file_rsync.sls
file_rsync:  
  file.recurse:  
    - source: salt://tools/  
    - name: /data/salt  
    - user: root  
    - group: root  
    - dir_mode: 755  
    - file_mode: 644  
    - makedirs: True  
    - backup: minion  
    - include_enpty: True
    - clean: True
[root@server1 salt]#

其中最重要的一行就是最后面那行:clean: true.表示如果服务端删除了minion端也跟着删除,就像rsync –delete的参数。

接下来使用方式:

首先重启服务端: systemctl restart salt-master

然后输入这个命令就可以同步了:salt node1 state.sls file_rsync

file_rsync是我们刚才创建的文件的名字,也可以是别的名字,同步效果:

赞(0)
未经允许不得转载:娃哈哈好喝 » saltstack 文件同步更新 同步删除
分享到: 更多 (0)