Backrest + Rclone 服务器自动备份方案教程|支持 Cloudflare R2 / S3 对象存储

Backrest 是一款基于 Web UI 的备份管理工具,结合 Rclone 可实现服务器数据的自动化、可视化和多云备份。本教程将详细介绍如何使用 Backrest + Rclone 搭建一套稳定可靠的服务器自动备份方案,支持 Cloudflare R2、AWS S3 及其他兼容 S3 协议的对象存储,适用于 VPS、Docker、网站数据和配置文件备份场景。

开源GitHub项目地址

先创建一个存储桶R2 s3对象存储都可以只要记住下面用cloudflare演示

创建一个存储桶与帐户 API 令牌

保存 ID KEY 与地址备用
添加到下面位置

[r2]
type = s3
provider = Cloudflare
access_key_id =ID
secret_access_key =Key
endpoint =地址

开通一台服务器或者使用现有的,推荐先在vultr尝试搭建
使用SSH连接服务器 使用方法阅读

安装Rclone

sudo -v ; curl https://rclone.org/install.sh | sudo bash

获取配置文件路径

rclone config file

修改配置文件

sudo nano /root/.config/rclone/rclone.conf

把保存备用的配置添加进去
别忘了把ID KEY 地址填入

CTRL X 保存

要安装docker如果没安装
先安装

curl -fsSL https://get.docker.com | sh

重要提醒的是看你想备份那个位置更改:
位置我需要备份的是home我是这样写的
-v /home:/userdata/home \
要改其他目录这样改
-v /root:/userdata/root \
只能有一个目录

docker run -d \
--name backrest \
--hostname backrest \
-p 9898:9898 \
-v /root/backrest/data:/data \
-v /root/backrest/config:/config \
-v /root/backrest/cache:/cache \
-v /root/backrest/tmp:/tmp \
-v /root/.config/rclone:/root/.config/rclone \
-v /home:/userdata/home \
-e BACKREST_DATA=/data \
-e BACKREST_CONFIG=/config/config.json \
-e XDG_CACHE_HOME=/cache \
-e TMPDIR=/tmp \
-e TZ=Asia/Hongkong \
--restart unless-stopped \
garethgeorge/backrest:latest

ip+端口打开配置地址建议使用nginx或者caddy配置一下https确保访问安全
如果有防火墙先关闭

sudo ufw disable

添加一个用户

配置备份

刚才保存配置第一行的名称可选目录例如
S3 需要备份的位置
目录可以不存在 会新建一个目录
我选的是
rclone:r2:beifen/备份

这里的密码要牢记,备份恢复需要填写相同的路径以及密码

添加备份计划
因为我选的路径是home
备份路径/userdata/home
排除路径可以选

开始备份

配置通知
在配置存储和计划时,都支持配置通知,当前版本支持的通知有:

以Telegram为例,正确填入Bot TokenChat ID即可:

备份恢复到本机
添加第一次备份同样路径以及密码例如
rclone:r2:beifen/备份

这里的密码就是备份时牢记的密码

恢复时需要修改你的恢复路径

Backrest + Rclone 是一套轻量、高效且可扩展的服务器自动备份解决方案。通过 Web 可视化管理与 Rclone 强大的多云同步能力,可以轻松实现服务器数据的定时备份、版本保留与异地容灾。该方案原生支持 Cloudflare R2、S3 及其他兼容对象存储,部署简单,适用于 VPS、Docker、网站数据和重要配置文件的长期安全备份。无论是个人服务器还是小型团队环境,都能在低成本的前提下显著提升数据安全性与可恢复能力。