作者:可爱的小 cherry
大家好,这里是 Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享 NAS、docker 玩耍经验 ~
前言
暑假学 NAS!开学把歌唱!
FreeFileSync 是一款文件夹比较和同步软件,可创建和管理所有重要文件的备份副本。FreeFileSync 不是每次都复制每个文件,而是确定源文件夹和目标文件夹之间的差异,并仅传输所需的最少量数据。
该项目通过 docker 实现了 FreeFileSync 的部署,让我们可以在 NAS 端方便快捷的使用 FreeFileSync,只需要配置不同同步文件夹之间的容器路径,即可以实现最小差异的同步文件夹,帮助我们做好数据备份。
项目地址:https://github.com/jlesage/docker-freefilesync
项目特性:
1. 双向同步:确保两侧文件夹高度一致,使文件及结构保持相同
2. 全量备份:全盘更新源地址下的文件和结构
3. 增量备份:寻求左右侧差异,只更新源地址下变化的内容到目标地址
4. 自定义:自定义需求和同步文件内容
系统部署
一、compose 代码
新建文件夹路径 /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,选择项目,点击新建,选择路径,点击下一步即可
方法三:威联通部署 compose
打开 container station,选择【应用程序】,点击【创建】,将代码复制进去,点击验证后部署即可
系统使用
左侧是我们的源文件夹,右侧是需要目标文件夹,默认是双向同步
支持云端存储的配置,目前仅支持 google drive、FTP、SFTP,换句话说,只要我们的 NAS 开通了 FTP 服务,可以实现跨 NAS 的同步,而不需要配置过多的网络连接。
在设置里可配置计算文件差异的方式,比如创建时间、尺寸、大小、内容等
在 filter 里面可以设置备份策略,对备份文件的类型、格式进行设置
可配置同步方向,正如前文所说的同步、镜像、增量、自定义,箭头表示备份方向。