编辑
2024-08-19
容器
00
请注意,本文编写于 151 天前,最后修改于 147 天前,其中某些信息可能已经过时。

目录

1. 多平台备份工具Duplicati
1.1 什么是Duplicati
1.2 Duplicati 特点
1.2 项目展示
2. 项目搭建
2.1 命令行安装(不推荐)
2.2 docker-compose安装(推荐)
3. 使用教程
备份
备份到云端
备份到本地
恢复操作

1. 多平台备份工具Duplicati

1.1 什么是Duplicati

Duplicati是一款开源免费的跨平台备份工具,可以将压缩的备份存储在云存储服务和远程文件服务器上,支持多种备份文件加密格式,可以增量备份,备份方式相当灵活。

1.2 Duplicati 特点

  • Duplicati使用AES-256加密(或GNU Privacy Guard)来保证所有数据在上传前的安全;
  • Duplicati最初会上传一个完整的备份,之后会存储较小的增量更新,以节省带宽和存储空间(增量备份);
  • 当新版本出来时,集成的更新器发出通知(我们用Docker部署,更新很方便);
  • 加密的备份文件可以传输到FTP、Cloudfiles、WebDAV、SSH(SFTP)、Amazon S3等地方;
  • Duplicati允许备份文件夹、文件类型,如文档或图片,或自定义过滤规则;
  • Duplicati可以作为具有易于使用的用户界面的应用程序和命令行工具使用;
  • Duplicati可以使用Windows下的卷快照服务(VSS)或Linux下的逻辑卷管理器(LVM)对打开或锁定的文件进行适当的备份。这使得Duplicati可以在Outlook运行时备份Microsoft Outlook PST文件;
  • 拥有过滤器、删除规则、传输和带宽选项等选项。

官方镜像:https://hub.docker.com/r/linuxserver/duplicati (此贴内容基本都可以在官方镜像中找到)

支持多平台:x86-84、arm64、armhf

1.2 项目展示

Github地址:https://github.com/duplicati/duplicati

官网地址:https://www.duplicati.com/download

z1.png

z2.png

z3.png

2. 项目搭建

2.1 命令行安装(不推荐)

用 docker cli 不仅更快捷,更能方便的指定要备份的源目录

bash
# 新建文件夹 duplicati 和 子目录 mkdir -p /root/data/docker_data/duplicati/{backups,config} # 进入 duplicati 目录 cd /root/data/docker_data/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 /root:/source \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Asia/Shanghai \ linuxserver/duplicati:latest
  • 关于卷的说明:
文件夹挂载路径说明
/mnt/sdb1/duplicati/backups/backups存储本地备份的路径
./docker_data/config/config/config
</path/to/source>/source你要备份的文件的路径

因为 Duplicati 采用了 docker 方式部署,所以要把源目录映射到容器中,示例中把 / 作为了源路径,可以在备份时备份 / 路径下的所有文件;

关于 PUIDPGIDCLI 等环境变量请参考官方文档:linuxserver/duplicati - Docker Image | Docker Hub

2.2 docker-compose安装(推荐)

docker-compose.yml填入以下内容:

bash
version: "3" services: duplicati: image: linuxserver/duplicati container_name: duplicati environment: - PUID=0 - PGID=0 - TZ=Asia/Shanghai volumes: - ./docker_data/config:/config - /mnt/sdb1/duplicati/backups:/backups - /:/source ports: - 8200:8200 restart: unless-stopped

没问题的话,esc退出,按

!保存,enter确认。 运行:

bash
docker-compose up -d

3. 使用教程

备份

备份到云端

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

Duplicati1.png

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

Duplicati2.png

新建备份项目,加密方式自己选,选择后记住加密方式后面恢复备份要用

Duplicati3temp.png 选择保存的位置,假设备份在Google Drive上面,可以填写不存在的路径,连接成功会自行创建该文件夹。点击 授权ID 登录谷歌云盘账号会自动生成ID

Duplicati4.png

Duplicati6.png

Duplicati7.png 测试成功后进入下一步选择源数据,由于 Duplicati 是以 Docker 方式安装并在上文提的 </path/to/source> 是你的挂载路径,所以需要找到 source 文件夹进行备份。其他文件是 Docker 内部文件无需备份。也可以直接在输入框直接输入路径,但建议鼠标选择更为直观。 过滤条件和排除选项按需添加。

3.png

选择好备份时日期规划后,进行远程卷大小设置(增量备份)和备份保留策略选择

Duplicati9.png

备份到本地

本地备份,输入名称,这里默认不用密码:

1.png

备份保存的位置,选择backups(backups目录被docker映射到宿主路径,必须选择backups)

2.png

数据源从source路径选。

3.png 选择备份时间

4.png 智能保留

5.png

设置完成然后点击立即运行

6.png

恢复操作

选择从文件恢复(其他恢复不做演示)

r1.png

这时候需要选择宿主的路径了。注意从source中选择。(docker的backups路径已经映射到/mnt/sdb1/duplicati/backups,而对于docker的Duplicati来说,它只有从/source路径才能读取到宿主机的路径) 所以完整的路径是: /source/mnt/sdb1/duplicati/backups/

r2.png

加密方式:无密码直接连接

r3.png

选择恢复文件

r4.png

注意添加恢复读写权限,然后点击恢复文件。

r5.png

恢复成功!

r6.png

本文作者:phae

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!