收起左侧

解锁 Duplicati:备份与恢复的终极指南

13
回复
5783
查看
[ 复制链接 ]

4

主题

28

回帖

0

牛值

fnOS系统内测组

2024-11-28 10:17:13 显示全部楼层 阅读模式

没有经历过数据丢失的人是不会懂,数据的安全性和备份的重要性,只有在失去重要文件后,才能深刻体会到那种无助和焦虑

最近我组建了一台 NAS,使用的是飞牛系统,这段时间也尝试了很多有趣的软件。(为啥要组NAS?因为我丢了数据。)

今天想给大家推荐一个备份神器——Duplicati!它不仅功能强大,而且使用起来非常方便,绝对是保护数据的好帮手。(其实飞牛也自带有备份,但是不能加密,期待飞牛官方的更新)

项目概述

Duplicati 是一个开源的备份工具,主要是为了帮助大家安全、可靠地备份数据。它支持多种存储方式,比如本地存储、云存储和网络存储,用户可以根据自己的需求选择最合适的备份方式。我是通过Duplicati把数据备份到了 cos、百度网盘、阿里云盘。(狡兔三窟)

主要特性

  • 增量备份:Duplicati 只会备份自上次备份以来发生变化的数据,这样可以节省存储空间和时间。
  • 加密:所有备份的数据都可以加密,确保你的数据安全,不会被别人看到。
  • 调度功能:用户可以设置定期备份任务,自动化备份流程,省去手动备份的麻烦。
  • 多平台支持:Duplicati 可以在 Windows、macOS 和 Linux 上运行,适合不同的用户。

docker-compose安装

services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    environment:
      - TZ=Asia/Shanghai
      - CLI_ARGS= #optional
      - PUID=0
      - PGID=0
    volumes:
      - /vol3/1000/安装的软件/duplicati/appdata/config:/config
      - /vol3/1000/安装的软件/duplicati/backups:/backups
      - /vol3/1000/安装的软件/duplicati/source:/source
      - type: bind
        source: /vol2/1000/Photos
        target: /Photos
        read_only: true
    ports:
      - 8200:8200
    restart: unless-stopped

参数说明:

  • image: 使用最新的 Duplicati 镜像。
  • container_name: 容器的名称为 duplicati。
  • environment: 设置环境变量,包括时区和用户组 ID。
  • volumes: 挂载了配置文件、备份文件和源文件,同时将飞牛相册的备份目录 /vol2/1000/Photos 以只读方式挂载到了duplicati /Photos目录。
  • ports: 将容器的 8200 端口映射到主机的 8200 端口。
  • restart: 设置容器在停止后自动重启,除非手动停止。

构建运行之后,打开8200端口。

设置备份

首页ui倒不是很好看。

图片

新增备份

选择配置新备份(后续可以把备份的设置导出,通过文件的形式导入进来备份)

图片

加密

需要加密的话建议用这个生成密码的方式加密,然后把密码保存好。

图片

WebDav备份

图片

我用alist挂载了百度网盘和阿里云盘,这里可以选择WebDav。因为是容器部署的duplicati,所以服务器的ip可以在docker-compose这里找到对应的网关,我这里是172.24.0.1,alist的端口默认是5244。

图片

然后下一步选择要备份的数据以及备份时间,最后设置备份的策略,这些基本上按照默认就好。

恢复备份

恢复备份也很方便。可以很方便的恢复指定版本的数据到任意为止。看图图~

图片

备份效果

图片

https://github.com/duplicati/duplicati

原文链接:

https://mp.weixin.qq.com/s/SgE3x5-h6PGsdNiQXewIcQ

https://www.lllyyb.com/archives/U0NOY8Sr

收藏
送赞 5
分享
公众号:编程挺好玩,NAS分享

0

主题

20

回帖

0

牛值

fnOS系统内测组

2024-11-28 14:26:27 显示全部楼层
谢谢分项!!!!

1

主题

7

回帖

0

牛值

fnOS系统内测组

2024-12-3 17:18:01 显示全部楼层

[i=s] 本帖最后由 newcdl 于 2024-12-4 10:40 编辑 [/i]<br /> <br />

补充一下, 我安装上面教程, 遇到一下问题:

  1. 日志报错,缺少配置项 ;
  2. 登录需要一个初始密码,也是缺少配置项;
  3. 删除任务, 勾选删除文件,验证码不出来,报错;

经过查询, 重新做了 docker-compose ,有需要的可以查看

services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    environment:
      - TZ=Asia/Shanghai
      - CLI_ARGS= #optional
      - PUID=0
      - PGID=0
      - SETTINGS_ENCRYPTION_KEY=88888888 #设置数据库的加密密钥。最少8个字符,字母数字。
      - DUPLICATI__WEBSERVICE_PASSWORD=88888888 #webui的密码。如果未设置,则默认为changeme,可以从webui设置中更改。
    volumes:
      - /vol1/1000/docker/duplicati/config:/config
      - /vol1/1000/docker/duplicati/backups:/backups
      - /vol1/1000/docker/duplicati/source:/source
      - type: bind
        source: /vol1/1000
        target: /qq
        read_only: true
      - type: bind
        source: /usr/share/fonts
        target: /usr/share/fonts
        read_only: true
    ports:
      - 8200:8200
    restart: unless-stopped
- type: bind source: /vol1/1000 target: /qq read_only: true - type: bind source: /usr/share/fonts target: /usr/share/fonts read_only: true 大佬这  详情 回复
2025-4-16 23:33
感谢分享,但是如果设置了只读,我恢复的时候会提示只读错误,删除就正常恢复了 services: duplicati: image: lscr.io/linuxserver/duplicati:latest container_name: duplicati environment: -  详情 回复
2025-1-22 11:27
[md]感谢补充,至于第3点,我还没有试过删除任务,删除文件。。: [/md]  详情 回复
2024-12-4 10:46

4

主题

28

回帖

0

牛值

fnOS系统内测组

2024-12-4 10:46:33 楼主 显示全部楼层

感谢补充,至于第3点,我还没有试过删除任务,删除文件。。:lol:

公众号:编程挺好玩,NAS分享

9

主题

13

回帖

0

牛值

江湖小虾

2024-12-9 15:14:59 显示全部楼层
这个方案,每次都是全量备份吧。还有,如果想要备份整台机器其他用户的照片,就有点麻烦,只能让其他用户把照片共享出来,否则现在飞牛的权限设计,即使管理员,也不够权限

8

主题

26

回帖

0

牛值

fnOS系统内测组

2024-12-10 13:16:18 显示全部楼层
这个方案是增量备份的,如果要备份其他账户的文件,docker里映射文件夹/vol1或者/vol2 …

0

主题

13

回帖

0

牛值

fnOS系统内测组

2025-1-22 11:27:13 显示全部楼层
感谢分享,但是如果设置了只读,我恢复的时候会提示只读错误,删除就正常恢复了
services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    environment:
      - TZ=Asia/Shanghai
      - CLI_ARGS= #optional
      - PUID=1000
      - PGID=1000
      - SETTINGS_ENCRYPTION_KEY=88888888 #设置数据库的加密密钥。最少8个字符,字母数字。
      - DUPLICATI__WEBSERVICE_PASSWORD=88888888 #webui的密码。如果未设置,则默认为changeme,可以从webui设置中更改。
    volumes:
      - ./appdata/config:/config
      - ./backups:/backups
      - ./source:/source
      - type: bind
        source: /vol2/1000
        target: /1000
        # read_only: true
    ports:
      - 8200:8200
    restart: always
嗯嗯,是的, 这**据情况自己改,我一般都是单个文件恢复,恢复到其它地方  详情 回复
2025-1-22 16:34

1

主题

7

回帖

0

牛值

fnOS系统内测组

2025-1-22 16:34:11 显示全部楼层
laurena 发表于 2025-1-22 11:27
感谢分享,但是如果设置了只读,我恢复的时候会提示只读错误,删除就正常恢复了
services:
  duplicati:

嗯嗯,是的, 这**据情况自己改,我一般都是单个文件恢复,恢复到其它地方

2

主题

3

回帖

0

牛值

江湖小虾

2025-1-26 00:44:27 显示全部楼层
找了好久,终于找到了。

0

主题

1

回帖

0

牛值

江湖小虾

2025-4-1 15:20:03 显示全部楼层
各位大佬好,我也是使用alist挂载115网盘在本地,在alist中开启了webdav权限,但是在duplicati连接webdav的时候,出现了下面的报错
"Failed to connect: error-id:WebdavMethodNotAllowed, user-information:The server returned the error code 405 (MethodNotAllowed), indicating that the server does not support WebDAV connections"​
,在网页端尝试访问“alist端口/dav”也显示MethodNotAllowed,问了下Chatgpt,分析是由于GET方法不支持,需要使用PROPFIND方法,我在终端试了一下,PROPFIND确实可以正常访问,请问,这是alist中需要如何修改配置,还是duplicati需要如何修改配置,感谢!
,路径那写dav/,前面不要加/  详情 回复
2025-4-10 19:10
跟你一样情况,解决了吗?  详情 回复
2025-4-10 19:06

8

主题

39

回帖

0

牛值

初出茅庐

2025-4-10 19:06:55 显示全部楼层
木瓜、 发表于 2025-4-1 15:20
各位大佬好,我也是使用alist挂载115网盘在本地,在alist中开启了webdav权限,但是在duplicati连接webdav的 ...

跟你一样情况,解决了吗?

8

主题

39

回帖

0

牛值

初出茅庐

2025-4-10 19:10:19 显示全部楼层
木瓜、 发表于 2025-4-1 15:20
各位大佬好,我也是使用alist挂载115网盘在本地,在alist中开启了webdav权限,但是在duplicati连接webdav的 ...

,路径那写dav/,前面不要加/

0

主题

2

回帖

0

牛值

江湖小虾

2025-4-16 22:58:35 显示全部楼层
大佬问一下,如果备份完成后设备崩了,如何在其他的设备上恢复文件

0

主题

2

回帖

0

牛值

江湖小虾

2025-4-16 23:33:20 显示全部楼层
小柿子 发表于 2024-12-3 17:18
[md]# 补充一下, 我安装上面教程, 遇到一下问题:

1. 日志报错,缺少配置项 ;

- type: bind
        source: /vol1/1000
        target: /qq
        read_only: true
      - type: bind
        source: /usr/share/fonts
        target: /usr/share/fonts
        read_only: true
大佬这些是什么能注释一下嘛
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则