在早期文章《服务器数据备份方案:用Backrest实现加密+增量+定时备份》,xiaoz 介绍过 backrest 这款备份软件,今天继续介绍它的同类型软件 Pluton,两者底层均为restic + rclone,不过个人认为Pluton的界面更加清晰和易用。

Pluton 是干嘛的?
Pluton 是一个开源自托管的备份管理平台,用 Web 界面封装 Restic 和 Rclone,让你不写脚本就能完成加密增量备份,并推送到多种云存储。主要有以下特点:
- 可视化管理和操作
- 加密备份
- 增量备份
- 支持多种备份方式(本地、S3、WebDAV、各类云盘)
安装 Pluton
Pluton支持多种安装方式,提供桌面端和服务器版本,这篇文章仅介绍 Docker 安装方式,并使用Docker Compose部署搭建。先新建一个compose.yaml文件,内容如下:
services:
pluton:
image: plutonhq/pluton:latest
container_name: pluton-backup
restart: unless-stopped
ports:
- "${SERVER_PORT:-5173}:${SERVER_PORT:-5173}"
volumes:
# Main data volume - contains database, config, logs
- ./data:/data
- /data/apps:/source/apps:ro
mem_limit: 512m
environment:
TZ: Asia/Shanghai
# ===== REQUIRED: Security & Authentication =====
# Generate secure random strings (min 12 characters for the first three)
ENCRYPTION_KEY: ${ENCRYPTION_KEY} # Encryption key for restic/rclone Snapshot encryption
USER_NAME: ${USER_NAME} # Admin username for login
USER_PASSWORD: ${USER_PASSWORD} # Admin password for login
# TRUST_PROXY: ${TRUST_PROXY:-1} #Uncomment when running Pluton behind a reverse proxy (Caddy, Nginx, Traefik, ...).
# ===== Application Settings =====
APP_TITLE: ${APP_TITLE:-Pluton}
APP_URL: ${APP_URL:-http://localhost:5173}
SERVER_PORT: ${SERVER_PORT:-5173}
MAX_CONCURRENT_BACKUPS: ${MAX_CONCURRENT_BACKUPS:-2}
SESSION_DURATION: ${SESSION_DURATION:-7} # How long frontend login Session lasts in Days
# ===== User Interface Security Settings =====
ALLOW_CUSTOM_RESTORE_PATH: ${ALLOW_CUSTOM_RESTORE_PATH:-true}
ALLOW_FILE_BROWSER: ${ALLOW_FILE_BROWSER:-true}
DISABLE_EVENT_SCRIPTS: ${DISABLE_EVENT_SCRIPTS:-false}
# ===== Docker-specific (do not change) =====
NODE_ENV: production
IS_DOCKER: "true"
healthcheck:
test:
[
"CMD",
"sh",
"-c",
"wget --no-verbose --tries=1 --spider http://localhost:${SERVER_PORT:-5173}/api/health",
]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s其中你需要注意和修改的地方包括:
/data/apps:/source/apps:ro:这个是自定义挂载目录,/data/apps是宿主上的路径,也就是你准备备份的数据目录,/source/apps为自定义容器路径,可自行修改调整。mem_limit: 512m:这里限制容器内存为512M,避免过多占用,可根据自身情况调整修改TZ: Asia/Shanghai:使用了北京时间的时区,不然容器默认用的格林威治时间,和北京时间相差8H
然后还需要创建一个.env环境变量,内容如下:
ENCRYPTION_KEY=xxx
USER_NAME=xxx
USER_PASSWORD=xxx
# Optional - override defaults
SERVER_PORT=5173ENCRYPTION_KEY:加密密钥,如果这个忘记了,数据将无法找回USER_NAME:Pluton的用户名USER_PASSWORD:Pluton的密码
然后输入docker compose up -d启动Pluton,访问http://ip:5173进行登录即可。

使用 Pluton 备份数据
Pluton 默认使用本地存储进行数据备份,我们也可以添加各种外部存储,在【Storages 页面 - + New】进行添加。

支持几十种外部存储类型,比如:S3、WebDav、SFTP等,根据自己的情况选择即可。

存储添加完毕后,继续在【Backup Plans】中新增定时备份计划。

- Backup Plan Name:随便填
- Backup Strategy:选第一个Incremental Backup

- Backup Sources:选择你自定义的容器路径,比如我上面的配置路径是
/source/apps - Backup Destination:选择刚刚添加好的外部存储
其它保持默认即可。

接下来继续设置备份时间,支持每天、每周、每月备份,我下面的截图是每天凌晨3点备份,备份数据保留最近1个月,且至少保留5个备份进行兜底,不会设置的话直接按照截图照抄即可。

然后其它参数保持默认,添加完毕后可点击【Backup Now】按钮立即备份一次,验证备份是否正常。

如果没有问题的话,后面等它自行定时备份即可。
更多设置
出于安全性考虑,建议在设置中开启两步验证。

另外如果您希望备份完毕后进行通知,也可以设置 STMP 邮件通知或Ntfy通知。

Pluton 和 backrest对比
Pluton 和 backrest两个软件,xiaoz均在使用,其实功能都差不多(Pluton Pro功能更多一些),底层核心也完全一致,下方是我的一个主观对比,仅供参考。
| 软件名称/功能 | Pluton | backrest |
|---|---|---|
| 中文界面 | 不支持 | 支持 |
| 界面上手难度 | 相对容易 | 复杂 |
| 界面友好程度 | 优秀 | 一般 |
| 加密备份 | 支持 | 支持 |
| 增量备份 | 支持 | 支持 |
| 两步验证 | 支持 | 不支持 |
| 邮件通知 | 支持 | 不支持 |
更多详细对比数据可以参考官方文档:https://docs.usepluton.com/docs/getting-started/pluton-vs-others
结语
总之,Pluton 是一款基于 Restic 和 Rclone 的优秀自托管备份工具。它用清晰的 Web 界面大大降低了加密增量备份的门槛,Docker 部署便捷,配置直观。Pluton 用来备份 VPS、NAS、电脑数据等都是非常方便的,如果您正在寻找加密增量备份软件,Pluton 绝对值得一试。
Pluton 项目地址:https://github.com/plutonhq/pluton
下一篇
没有了