V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xiaoz
V2EX  ›  分享创造

整合了一个服务器备份方案: xp-backup,自动增量加密备份 MySQL 和文件数据到 AWS S3

  •  
  •   xiaoz ·
    helloxz · 281 天前 · 2528 次点击
    这是一个创建于 281 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原理很简单,使用 mydumper 备份 MySQL ,然后再使用 restic 加密备份至 AWS S3 ,restic 的好处是支持加密和增量备份,所以不会因为多个快照占用过多数据,而且支持指定快照回滚,非常适合服务器备份。

    我将这 2 个工具进行了整合并写了几个简单的 shell 脚本进行管理,并打包为 Docker 镜像,使用者只需要拉取镜像并配置参数就可以定时自动备份了。

    8b85dce48f074194.png

    适合个人用户或者小企业数据不多的情况下使用。

    特点

    • 加密备份
    • 增量备份
    • 自动备份 MySQL 数据库
    • 支持添加多个备份路径
    • 支持快捷命令查看备份列表(快照)
    • 支持快捷命令自动恢复指定备份(快照)

    详细使用说明和脚本放到 Github 了: https://github.com/helloxz/xp-backup

    10 条回复    2024-02-07 17:15:05 +08:00
    Licsber
        1
    Licsber  
       281 天前   ❤️ 1
    可以 备份思路跟我一样 不过我的应用数据比较少 直接全量放本地了

    主图是 AI 生成的吗 挺好看
    xiaoz
        2
    xiaoz  
    OP
       281 天前   ❤️ 1
    @Licsber 对,用 DALLE.3 帮我生成的,嘿嘿。
    s609926202
        3
    s609926202  
       281 天前   ❤️ 1
    只支持 AWS 的 S3 吗,支持 S3 协议的(如缤纷云)不
    xiaoz
        4
    xiaoz  
    OP
       281 天前
    @s609926202 resitc 是支持多种协议的,不过我在整合的时候只适配了 S3 ,而且大部分对象存储都提供了 S3 的兼容接口。你可以看看缤纷云兼容 S3 不,兼容的话就没问题。
    nicoljiang
        5
    nicoljiang  
       281 天前
    支持自定义的 endpoint 么?
    xiaoz
        6
    xiaoz  
    OP
       281 天前 via Android
    @nicoljiang #5 ,支持的。在.env 环境变量里面自行设定 URL 来传递。
    cryboy007
        7
    cryboy007  
       281 天前
    tidb 可以吗
    xiaoz
        8
    xiaoz  
    OP
       281 天前
    @cryboy007 #7 ,不太确认 mydumper 是否支持 tidb ,tidb 貌似是兼容 MySQL 的吧,你可以手动用 mydumper 备份 tidb 试试看是否报错。
    ptsa
        9
    ptsa  
       275 天前   ❤️ 1
    postgresql 支持么?
    xiaoz
        10
    xiaoz  
    OP
       275 天前
    @ptsa #9 ,不支持哦,mydumper 只支持 MySQL 系。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   967 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:29 · PVG 06:29 · LAX 14:29 · JFK 17:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.