跨平台备份工具Duplicati

本文软件得到了网友 冷心 的推荐;

什么是 Duplicati ?

Duplicati 是一个免费的开源备份客户端,可将加密的、增量的、压缩的备份安全地存储在云存储服务和远程文件服务器上。支持 Amazon S3IDrive e2Backblaze (B2)BoxDropboxFTPGoogle CloudDriveHubiCMEGAMicrosoft AzureOneDriveRackspace 云文件、OpenStack Storage (Swift)SiaStorj DCSSSH (SFTP)WebDAV、腾讯云对象存储(COS)等!

安装

在群晖上以 Docker 方式安装。

【注意】:强烈不建议用群晖内置的图像方式安装,因为可以选择的源目录比较有限。

命令行安装

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
# 新建文件夹 duplicati 和 子目录
mkdir -p /volume2/docker/duplicati/{backups,config}

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

# 运行容器
docker run -d \
--restart unless-stopped \
--name=duplicati \
-p 8200:8200 \
-v $(pwd)/config:/config \
-v $(pwd)/backups:/backups \
-v </path/to/source>:/source \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
linuxserver/duplicati:latest

# 示例(老苏是以 root 身份运行的)
docker run -d \
--restart unless-stopped \
--name=duplicati \
-p 8200:8200 \
-v $(pwd)/config:/config \
-v $(pwd)/backups:/backups \
-v /volume2:/source \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
linuxserver/duplicati:latest
  • 关于卷的说明:
文件夹 装载路径 说明
docker/duplicati/backups /backups 存储本地备份的路径
docker/duplicati/config /config 存放设置文件
</path/to/source> /source 要备份的文件的源路径

因为 Duplicati 采用了 docker 方式部署,所以要把源目录映射到容器中,示例中老苏把 volume2 作为了源;

  • 关于环境变量的说明
可变
TZ 设为 Asia/Shanghai
PUID 设为 1000
PGID 设为 1000
CLI_ARGS CLI 变量

CLI 变量请参考官方文档:https://duplicati.readthedocs.io/en/latest/07-other-command-line-utilities/

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

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

services:
duplicati:
image: linuxserver/duplicati:latest
container_name: duplicati
ports:
- 8220:8200
hostname: duplicati
volumes:
- ./backups:/backups
- ./config:/config
- /volume2:/source
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
entrypoint:
- /init

然后执行下面的命令

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

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

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8220 就能看到主界面

如果你是自己一个人用,选 No ,否则就选 Yes,然后设置一个密码

新建一个备份项目

如果备份位置选择 本地文件夹或磁盘

当然也可以选择保存到远端,支持的协议很多

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

已经在阿里云盘中建好了 测试 目录

测试连接 正常的话,可以进行下一步

找到我们之前映射的 source

假设我们要备份 bitwarden

映射后的目录应该是 source/docker/bitwarden

设置备份计划

一些常规选项,如果默认的话,文件将按 50M 分割

从安全性考虑,建议采用加密

到这里任务就建好了

展开详情

为了测试,老苏选择了 立即运行 来验证效果

开始备份

到阿里云盘中刷新,可以看到文件都未超过 50M

备份完成

如果同时进行多个任务,可以分别限流

友情提示:虽然有备份,但是记得定期检查,避免关键时刻掉链子

参考文档

Duplicati
地址:https://www.duplicati.com/

duplicati/duplicati: Store securely encrypted backups in the cloud!
地址:https://github.com/duplicati/duplicati