新一代跨平台云备份工具Duplicacy

什么是 Duplicacy ?

Duplicacy 是一款云备份软件,通过 Duplicacy 可以将视频,图片,文件,注册表等数据备份到云端。Duplicacy 通过客户端加密和最高级别的重复数据删除功能,将您的文件备份到许多云存储。

安装

在群晖上以 Docker 方式安装。这样安装出来的版本是 Duplicacy Web Edition

这个版本会因为根据 dbus 提供的主机名和机器 ID 请求复制许可证。Machine-id 将保存在 /config 目录中。

关于授权的说明:https://duplicacy.com/buy.html

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 新建文件夹 duplicacy 和 子目录
mkdir -p /volume2/docker/duplicacy/{cache,config,logs}

# 进入 duplicacy 目录
cd /volume2/docker/duplicacy

# 运行容器
docker run -d \
--restart unless-stopped \
--name duplicacy \
-p 3875:3875 \
-v $(pwd)/backup:/backuproot:ro \
-v $(pwd)/cache:/cache \
-v $(pwd)/config:/config \
-v $(pwd)/logs:/logs \
-e USR_ID=$(id -u) \
-e GRP_ID=$(id -g) \
-e TZ=Asia/Shanghai \
saspus/duplicacy-web:latest

# 示例:
# 数据目录设置为只读访问权限
docker run -d \
--restart unless-stopped \
--name duplicacy \
--hostname:duplicacy \
-p 3875:3875 \
-v /volume1:/dir1:ro \
-v /volume2:/dir2:ro \
-v $(pwd)/cache:/cache \
-v $(pwd)/config:/config \
-v $(pwd)/logs:/logs \
-e USR_ID=$(id -u) \
-e GRP_ID=$(id -g) \
-e TZ=Asia/Shanghai \
saspus/duplicacy-web:v1.6.3
  • /dir1/dir2:以只读方式挂载源对应的目录;
  • /config: 是存储配置数据的地方;
  • /logs:存放日志的目录;
  • /cache: 临时文件;
  • USR_IDGRP_ID:容器将作为该用户运行;
  • TZ:时区;

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
version: '3'

services:
duplicacy:
image: saspus/duplicacy-web:v1.6.3
container_name: duplicacy
hostname:duplicacy
restart: unless-stopped
ports:
- 3875:3875
volumes:
- /volume1:/dir1:ro
- /volume2:/dir2:ro
- ./cache:/cache
- ./config:/config
- ./logs:/logs
environment:
- USR_ID=$(id -u)
- GRP_ID=$(id -g)
- TZ=Asia/Shanghai

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 duplicacy 和 子目录
mkdir -p /volume2/docker/duplicacy/{cache,config,logs}

# 进入 duplicacy 目录
cd /volume2/docker/duplicacy

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3875 就能看到主界面,需要先设置密码

进入主界面

进入设置

日志中

会看到存在错误

这是因为众所周知的原因,需要我们手动下载,原始的地址是

1
https://github.com/gilbertchen/duplicacy/releases/download/v3.0.1/duplicacy_linux_x64_3.0.1

我们下载需要在前面挂个代理( https://ghproxy.com),直接在浏览器中输入下面的地址

1
https://ghproxy.com/github.com/gilbertchen/duplicacy/releases/download/v3.0.1/duplicacy_linux_x64_3.0.1

将下载的 duplicacy_linux_x64_3.0.1 文件上传到 /docker/duplicacy/config/bin 目录中

本文写于 15 日,本文发布时,最新的版本为 3.1.0

重启容器后,可以看到版本就 OK

添加存储

老苏只有一块硬盘,存储用本机的意义不大,所以 Disk 就跳过了,其他的比如 Google DriveDropbox 访问上存在问题,所以比较理想的只有阿里云盘做的 WebDAV,速度快而且空间也足够;

左侧菜单 Storage –> More –> WebDav

老苏选了 WebDAV,备份位置指向了 aliyundrive-webdav 中设置的阿里云盘

文章传送门:能在路由器里挂载阿里云盘的aliyundrive-webdav

但是这里要注意,这里 Server 似乎只支持 https
协议,点文件夹

会显示下面的错误

换成域名

再点文件夹,就会显示文件列表

选择相应的目录即可,当然你直接输入也没问题

接下来要对存储进行设置

  • Storage Name:存储名称必须是唯一的;
  • PasswordRepeat:可选的密码来加密存储。如果存储在云服务上,强烈建议使用加密密码。如果您不想加密存储,可以将密码输入留空。
  • Copy-compatible with:用于复制操作,复制操作的目标存储必须与源存储兼容;
  • Erasure Coding:用于擦除的编码;
  • RSA Encryption:启用 RSA加密;

对于搞不大懂的东西,就不去设置了,有兴趣的可以深入研究

如果设置密码,不能少于 8 位;

现在存储已经设置好了

添加备份

左侧菜单 Backup

旁边有一个 Trial 链接,表示 Duplicacy Web Edition 已经自动下载了一个试用许可证。如果您有个人或商业许可证,您可以单击试用链接并输入许可证激活码以应用许可证。

点击右上角的绿色加号,会出现这个对话框

其中 backuproot 对应的就是我们之前映射的 volume2

选择好需要备份的目录

因为是第一次备份,所以 Backup ID 是没有的,需要自己填

可以通过单击 Backup ID 输入旁边的列表按钮来找出现有的 Backup ID。但是,有些情况下您想要使用现有的。例如,当您需要在另一台计算机上恢复目录时,您需要选择用于为该目录创建备份的原始Backup ID

可以通过单击每个备份底部的三角形按钮来手动运行备份。

添加计划

要定期运行备份(或其他操作),就需要创建日程

创建了一个

该时间表还没有任何工作。您可以通过单击 Add a job 链接或右上角的 + 号来添加新工作

有 4 种类型的操作:

  • Backup(备份)
  • Copy(复制)
  • Check(检查)
  • Prune(修剪)

添加完成后

恢复

左侧菜单 Restore ,然后手动执行还原操作

选择要恢复的路径就可以了

参考文档

Duplicacy
地址:https://duplicacy.com/

saspus / duplicacy-web-docker-container — Bitbucket
地址:https://bitbucket.org/saspus/duplicacy-web-docker-container/src/mini/

gilbertchen/duplicacy: A new generation cloud backup tool
地址:https://github.com/gilbertchen/duplicacy

gilbertchen/acrosync-library: rsync client library
地址:https://github.com/gilbertchen/acrosync-library

Duplicacy Forum
地址:https://forum.duplicacy.com/