本文最后更新于 2024-07-16,文章内容可能已经过时。

大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~

前言

FreeFileSync 是一款文件夹比较和同步软件,可创建和管理所有重要文件的备份副本。FreeFileSync 不是每次都复制每个文件,而是确定源文件夹和目标文件夹之间的差异,并仅传输所需的最少量数据。

该项目通过docker实现了FreeFileSync的部署,让我们可以在NAS端方便快捷的使用FreeFileSync,只需要配置不同同步文件夹之间的容器路径,即可以实现最小差异的同步文件夹,帮助我们做好数据备份。

image.png

项目地址:https://github.com/jlesage/docker-freefilesync

项目特性

1. 双向同步:确保两侧文件夹高度一致,使文件及结构保持相同
2. 全量备份:全盘更新源地址下的文件和结构
3. 增量备份:寻求左右侧差异,只更新源地址下变化的内容到目标地址
4. 自定义:自定义需求和同步文件内容

系统部署

一、docker-compose.yaml代码

🔻新建文件夹路径/volume1/docker/filesync,在/volume1/docker/filesync/上传docker-compose.yml文件,将下面代码复制进去。compose代码,根据自己的需要修改

version: "3"
services:
  freefilesync:
    ports:
     - 5800:5800   # WEBUI端口
     - 5900:5900   # VNC协议端口,可选
    container_name: freefilesync
    environment:
      - TZ:Aisa/Shanghai
    volumes:
      - /volume1/docker/filesync/:/config
      - /volume1/files_1:/storage1                                 # 同步文件夹A
      - /volume2/files_2:/storage2                                 # 同步文件夹B
    image: jlesage/freefilesync

二、部署系统

方法一:SSH部署

# 来到文件夹目录
cd /volume1/docker/容器名/
# 启动容器
docker-compose up -d

方法二:群晖部署compose

打开container manager,选择项目,点击新建,选择路径,点击下一步即可
image.png

方法三:威联通部署compose

打开container station,选择【应用程序】,点击【创建】,将代码复制进去,点击验证后部署即可
image.png


系统使用

左侧是我们的源文件夹,右侧是需要目标文件夹,默认是双向同步
image.png

支持云端存储的配置,目前仅支持google drive、FTP、SFTP,换句话说,只要我们的NAS开通了FTP服务,可以实现跨NAS的同步,而不需要配置过多的网络连接。
image.png

在设置里可配置计算文件差异的方式,比如创建时间、尺寸、大小、内容等
image.png

在filter里面可以设置备份策略,对备份文件的类型、格式进行设置
image.png

可配置同步方向,正如前文所说的同步、镜像、增量、自定义,箭头表示备份方向。
image.png