rakazo 升级前怎么备份、升级坏了怎么回滚
rakazo 还在 beta,升级有改配置格式的可能。所以顺序永远是:先备份、再升级、验不过就回滚。下面这套流程是我们在真机上完整跑通过的:数据库整库删掉再灌回,账号、记忆与沙箱文件全恢复,全程约 2 分钟。
第 1 步:升级前做两份备份
数据库备份(以 部署教程第 4 步 的命令为准):
docker exec rakazo-postgres-1 sh -c 'pg_dump -U "$POSTGRES_USER" -d "$POSTGRES_DB"' | gzip > backup-with-bot.sql.gz
我们实测:空库备份约 40 KB,带一个 bot 的备份约 54 KB,备份不到 5 秒。备份完先确认文件在、且大小不是 0,再动手升级。
第 2 步:升级
重跑官方安装脚本(只用官方仓库 elie222/rakazo 的脚本,不要用第三方改版)。升级完不要只看登录页能打开,接着做第 3 步的冒烟测试。
第 3 步:冒烟测试(升级后、回滚后都要做)
- 登录 owner 账号正常;
- 问 bot 一句它之前记住的东西(我们实测用的是暗号
BANANA-42,回滚后问What was my code word?答对了才算记忆真的回来了); - 让 bot 用电脑做一件小事(例如列出文件、建一个测试文件),确认工具调用与沙箱正常;
- 外网 https 地址能打开、返回正常。
任何一项不过,就进入回滚,不要在坏状态上继续修修补补。
第 4 步:回滚(实测过的顺序)
- 停掉 web / api / worker / supervisor 与 bot 电脑服务;
- 用 dropdb / createdb 重建数据库;
- 把升级前的备份灌回数据库;
- 重跑一次官方安装脚本,重启服务;
- 重做第 3 步的冒烟测试。
我们实测的回滚结果:账号数回到 1 个,暗号在恢复后的数据库里仍在,沙箱里的测试文件完好,本机与外网 https 均正常。
最容易踩的坑:数据库备份 ≠ 沙箱文件备份
我们实测中,bot 建的测试文件能恢复,是因为它存在独立的 appdata 卷里,而回滚时没有删卷。数据库备份只恢复账号、对话与记忆,不恢复沙箱文件。所以回滚时:只重建数据库,不要删数据卷;如果你要换机器迁移,appdata 卷要另外单独备份。
更新(2026-10-25):真跨版本升级已验证通过
2026-10-25 官方发布新构建后,我们在同一台服务器上补测了真跨版本升级:升级前先按本页流程做了全量备份(55 KB、84 张表),然后拉取新镜像重建服务。结果一次通过:账号数、bot 数、消息数与升级前完全一致,外网访问正常,升级后当场问 bot,它仍记得升级前的暗号。也就是说上面这套「备份→升级→冒烟测试」的流程已经在一次真实版本跳跃中完整跑通;beta 期版本之间仍可能出现个案问题,这正是每次升级前都要先备份的原因。
不想自己走这套流程:代部署服务的交付里包含升级前备份与冒烟测试;升级翻车时按上面同样的回滚流程处理。
基于 2026-10-24 的真机实测整理;官方迭代很快,命令与界面如有出入以官方文档为准。
Deploy