前言
相信各位都在黑五收获到了自己心仪的小鸡,但并不是每个商家都提供快照备份服务,所以分享一下我正在用的这套备份方案
先贴上项目地址和文档:
看过文档后,不难发现Backrest本质上是一个带WebUI的restic,但所有的配置和操作都可以在网页上完成,并且内置了通知服务,比起备份脚本显然更适合当代mjj体质
Step 1 创建备份存储(Backup Repository)
在当前方案中,备份存储的读/写都通过rclone完成,所以只要rclone支持就能用
以cloudflare的R2对象存储为例:
1.1 创建一个存储桶,名字根据个人习惯命名即可,位置根据当前服务器所在区域选择即可
1.2 回到R2对象存储,记住
S3 API,后面要用,接下来创建API Token1.3 按需选择API Token的权限并创建
1.4 记住
Access Key ID和Secret Access Key,后面要用
Step 2 Rclone安装和配置
2.1 安装Rclone
sudo -v ; curl https://rclone.org/install.sh | sudo bash2.2 配置Rclone,参考文档:Cloudflare Docs Rclone
- 获取配置文件路径
rclone config file# Configuration file doesn't exist, but rclone will use this path:# /root/.config/rclone/rclone.conf- 修改配置文件
vim /root/.config/rclone/rclone.conf- 新增如下配置并保存
[r2]type = s3provider = Cloudflareaccess_key_id = xxx # 填步骤1.4中记住的Access Key IDsecret_access_key = xxx # 填步骤1.4中记住的Secret Access Keyendpoint = xxx # 填步骤1.2中记住的S3 API- 测试配置是否正确
rclone ls r2:xxx-backup # 用步骤1.1的Bucket name,没有报错则配置正确
Step 3 Backrest安装和配置
3.1 安装Backrest(Docker Compose)
- 找一个合适的地方存放docker-compose.yml如下
services: backrest: image: garethgeorge/backrest:latest container_name: backrest hostname: backrest volumes: - ./backrest/data:/data - ./backrest/config:/config - ./backrest/cache:/cache - ./backrest/tmp:/tmp - /root/.config/rclone:/root/.config/rclone - /root:/userdata/root # Mount local paths to backup environment: - BACKREST_DATA=/data - BACKREST_CONFIG=/config/config.json - XDG_CACHE_HOME=/cache - TMPDIR=/tmp - TZ=Asia/Hongkong ports: - "9898:9898" restart: unless-stopped需要注意的是,使用docker部署需要自行处理备份路径的映射,时区也尽量配置正确
- 启动容器
docker compose up -d3.2 宿主机安装请参考 Backrest: Running on Linux
3.3 配置Backrest
首次打开需要配置实例名、用户名和密码,取消勾选
Disable Authentication配置备份存储(Add Repo)
填好配置后,可以点击Test Configuration,出现如下提示则一切正确:配置备份计划(Add Plan)
配置完成后,在Repo的Tree View下应该能看到计划执行的任务:
已完成的计划任务则可以查看详细信息:
更多配置和用法可以参考文档 Backrest Operations Guide配置通知(Hooks)
在配置存储和计划时,都支持配置通知,当前版本支持的通知有:
以Telegram为例,正确填入Bot Token和Chat ID即可:
更多通知配置可以参考文档 Backrest Hooks
Step 4 备份恢复
首先备份恢复的目标机器上需要安装和配置Rclone(步骤2)并安装好Backrest(步骤3.1)
4.1 配置Backrest
配置备份存储(Add Repo)
填好配置后,可以点击Test Configuration,出现如下提示则一切正确:
需要注意的是found an existing repo,表示这个位置已经有备份存储了选择上一步配置好的Repo,点击
Index Snapshots索引仓库中已有的快照通过
Snapshot Browser选择要恢复的目录/文件恢复到指定目录
需要注意docker的目录映射,确保能正确恢复到宿主机上
本文内容依据CC BY-NC-SA 4.0许可证进行授权
评论 (0)