当前位置: 首页 > Linux运维 > 服务器数据备份方案:用Backrest实现加密+增量+定时备份

服务器数据备份方案:用Backrest实现加密+增量+定时备份

发布于:2025-8-11 Linux运维 0条评论 59 views
本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

backrest是一款基于restic的可视化加密备份工具,如果还不了解restic的可以参考xiaoz之前写的一篇文章《CentOS 7使用restic备份VPS数据》,backrest在restic基础上增加了WEBUI管理和定时任务、快照预览等功能,极大的简化了restic繁杂的命令行操作。

93ee95177174168b.png

这篇文章xiaoz将演示使用Docker搭建backrest,并将服务器数据定期备份到自建的RustFS中(S3对象存储)。

backrest/restic特点

  • 提供可视化界面管理
  • 支持定期备份
  • 支持数据加密备份
  • 支持增量备份
  • 支持数据备份到本地、SFTP、S3、Rclone等

安装backrest

这里xiaoz使用Docker Compose安装,新建一个docker-compose.yaml文件,内容如下:

version: "3.8"
services:
  backrest:
    image: garethgeorge/backrest:latest
    container_name: backrest
    hostname: backrest
    volumes:
      - ./data/data:/data
      - ./data/config:/config
      - ./data/cache:/cache
      - /tmp:/tmp
      - ./rclone:/root/.config/rclone
      - /data/apps:/apps:ro
    environment:
      - BACKREST_DATA=/data
      - BACKREST_CONFIG=/config/config.json
      - XDG_CACHE_HOME=/cache
      - TMPDIR=/tmp
      - TZ=Asia/Shanghai
    ports:
      - "9898:9898"
    restart: unless-stopped

参数含义如下:

  • ./data/data:/data:backrest数据存放目录
  • ./data/config:/config:配置文件存放目录
  • - ./data/cache:/cache:缓存目录
  • - /tmp:/tmp:临时文件目录
  • - ./rclone:/root/.config/rclone:Rclone配置文件目录(restic支持备份到Rclone后端)
  • /data/apps:/apps:ro:挂载本地需要备份的目录,xiaoz这里需要备份服务器上的/data/apps目录,映射到容器的/apps,并设置为只读。

然后输入docker-compose up启动。

初始化

启动完毕后,输入http://IP:9898访问backrest WEB界面,首次访问会要求初始化,根据下方截图填写即可。

c3a88e2d957e99dd.png

初始化完毕后,输入刚刚设置的账号、密码进行登录。

625d0d5716dcceb3.png

使用

添加存储源

在开始之前,我们需要先添加一个Repositorie,简单来说就是添加一个存储源,让backrest知道你要将数据备份到哪里,支持的存储类型有:

  • 本地
  • SFTP
  • S3协议的任意对象存储
  • Backblaze B2
  • Rclone

xiaoz选择将数据备份到自建的RustFS中(S3对象存储),【点击左侧 - Add Repo】,参照下图填写。

748d5c7015eb6746.png

  • Repo Name:存储源的名称,随便填写,方便识别
  • Repository URI:存储源的协议地址,需要根据:https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html来填写,xiaoz这里使用的S3协议
  • Password:这个密码是加密备份使用的密码,后续解密数据也需要用到此密码。
  • 新增2个环境变量,分别是:AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY

然后底部可以点测试,没问题后再点保存。

添加备份任务

【点击左侧 - Plans - Add Plan】,参照下图填写。

88533e83790a98ad.png

最后可以点击【Backup Now】进行立即备份,备份的时候会实时显示进度。

71b0aa727f1f68e8.png

备份完毕后,我们在S3是无法直接查看数据的,因为数据已经被restic加密了,但是backrest后台提供了快照的数据查看。

6e2d2340b6593701.png

结语

backrest在restic基础上提供了可视化管理和定时备份功能,大幅简化了操作流程,但其配置仍涉及较多专业概念(如S3协议、环境变量等),对新手可能有一定门槛。推荐运维人员或熟悉备份流程的用户使用,可高效管理加密备份任务。若初次接触,建议先了解restic基础原理再尝试部署。

backrest开源地址:https://github.com/garethgeorge/backrest


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注