docker 容器定时备份文件夹 docker备份软件_群晖

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

什么是 Duplicati ?

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

安装

在群晖上以 Docker 方式安装。

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

命令行安装

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

# 新建文件夹 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 文件

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

然后执行下面的命令

# 新建文件夹 duplicati 和 子目录
mkdir -p /volume2/docker/duplicati/{backups,config}

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

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

# 一键启动
docker-compose up -d

运行

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

docker 容器定时备份文件夹 docker备份软件_docker_02

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

docker 容器定时备份文件夹 docker备份软件_群晖_03

新建一个备份项目

docker 容器定时备份文件夹 docker备份软件_docker_04

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

docker 容器定时备份文件夹 docker备份软件_linux_05

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

docker 容器定时备份文件夹 docker备份软件_linux_06

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

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

docker 容器定时备份文件夹 docker备份软件_linux_07

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

docker 容器定时备份文件夹 docker备份软件_备份_08

找到我们之前映射的 source

docker 容器定时备份文件夹 docker备份软件_群晖_09

假设我们要备份 bitwarden

docker 容器定时备份文件夹 docker备份软件_linux_10

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

docker 容器定时备份文件夹 docker备份软件_docker 容器定时备份文件夹_11

设置备份计划

docker 容器定时备份文件夹 docker备份软件_备份_12

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

docker 容器定时备份文件夹 docker备份软件_linux_13

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

docker 容器定时备份文件夹 docker备份软件_linux_14

到这里任务就建好了

docker 容器定时备份文件夹 docker备份软件_docker_15

展开详情

docker 容器定时备份文件夹 docker备份软件_docker 容器定时备份文件夹_16

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

docker 容器定时备份文件夹 docker备份软件_群晖_17

开始备份

docker 容器定时备份文件夹 docker备份软件_群晖_18

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

docker 容器定时备份文件夹 docker备份软件_docker_19

备份完成

docker 容器定时备份文件夹 docker备份软件_docker 容器定时备份文件夹_20

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

docker 容器定时备份文件夹 docker备份软件_docker 容器定时备份文件夹_21

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

参考文档

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

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