Backrest + Rclone 备份方案和配置教程服务器自动备份支持R2 S3对象存储

备份方案结合了 BackrestRclone,适用于希望备份 服务器与数据库 和其他文件(例如文档、照片等)的用户。 Rclone 是一个强大的工具,可以用来同步本地文件与云存储服务(如 Google Drive、OneDrive、Dropbox 等)保证了数据安全,还能确保数据在云端得到加密存储

开源GitHub项目地址

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

打开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 y 保存
要安装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

添加一个用户

配置备份

刚才保存配置第一行的名称可选目录例如
rclone:r2:beifen/备份

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

添加备份计划

然后开始备份

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

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

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

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

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

如果过你的备份不在root目录修改下docker安装的映射路径-v /home:/userdata/home \
根据实际情况更改
只能存在一个映射路径-v /home:/userdata/home \

同时选择备份目录也需要更改/userdata/home


自动化:结合 Backrest 和 Rclone,可以实现完全自动化的备份与恢复过程,极大地降低了管理负担。

高效性:Backrest 提供高效的数据库备份与恢复,而 Rclone 支持多种云存储服务,方便用户选择最合适的存储。

灵活性:你可以选择全量、增量备份,云存储选择灵活,支持加密和压缩。