Duplicati是一款开源免费的跨平台备份工具,可以将压缩的备份存储在云存储服务和远程文件服务器上,支持多种备份文件加密格式,可以增量备份,备份方式相当灵活。
官方镜像:https://hub.docker.com/r/linuxserver/duplicati (此贴内容基本都可以在官方镜像中找到)
支持多平台:x86-84、arm64、armhf
Github地址:https://github.com/duplicati/duplicati
官网地址:https://www.duplicati.com/download
用 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
方式部署,所以要把源目录映射到容器中,示例中把 /
作为了源路径,可以在备份时备份 /
路径下的所有文件;
关于 PUID
、PGID
、CLI
等环境变量请参考官方文档:linuxserver/duplicati - Docker Image | Docker Hub
docker-compose.yml填入以下内容:
bashversion: "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确认。 运行:bashdocker-compose up -d
在浏览器中输入 http://IP:8200 就能看到主界面
如果是自己一个人用,选 No ,否则就选 Yes,然后设置一个密码
新建备份项目,加密方式自己选,选择后记住加密方式后面恢复备份要用
选择保存的位置,假设备份在Google Drive上面,可以填写不存在的路径,连接成功会自行创建该文件夹。点击 授权ID 登录谷歌云盘账号会自动生成ID
测试成功后进入下一步选择源数据,由于 Duplicati 是以 Docker 方式安装并在上文提的 </path/to/source> 是你的挂载路径,所以需要找到 source 文件夹进行备份。其他文件是 Docker 内部文件无需备份。也可以直接在输入框直接输入路径,但建议鼠标选择更为直观。 过滤条件和排除选项按需添加。
选择好备份时日期规划后,进行远程卷大小设置(增量备份)和备份保留策略选择 。
本地备份,输入名称,这里默认不用密码:
备份保存的位置,选择backups(backups目录被docker映射到宿主路径,必须选择backups)
数据源从source路径选。
选择备份时间
智能保留
设置完成然后点击立即运行
选择从文件恢复(其他恢复不做演示)
这时候需要选择宿主的路径了。注意从source中选择。(docker的backups路径已经映射到/mnt/sdb1/duplicati/backups,而对于docker的Duplicati来说,它只有从/source路径才能读取到宿主机的路径) 所以完整的路径是: /source/mnt/sdb1/duplicati/backups/
加密方式:无密码直接连接
选择恢复文件
注意添加恢复读写权限,然后点击恢复文件。
恢复成功!
本文作者:phae
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!