深色模式
备份与还原
Reeve 里有两套名字都叫「备份」但完全不同的东西,先分清再往下看:
| 备份 Reeve 自己 | 备份服务器上的数据 | |
|---|---|---|
| 备什么 | 你在 Reeve 里攒的配置:服务器清单、凭据密文、知识库…… | 远程机器上的目录 / 数据库 / 整站 |
| 产物落哪 | 本机一个 .reevebak 文件,或你的 WebDAV 网盘 | 该服务器自己的 ~/.reeve/backups/ |
| 入口 | 设置页 → 备份与还原 | 工作台 → 备份 标签 |
| 典型场景 | 换电脑、重装系统 | 改配置前留个后手、定期存数据库 |
一、备份 Reeve 本机配置
设置页 → 左侧锚点导航 备份与还原,面板内嵌三个页签。
备份哪 12 类
| 类别 | 默认勾选 |
|---|---|
| 服务器与凭据 | |
| SSH 密钥库 | |
| API 档案与证书账户 | |
| 敏感库与已装服务 | |
| 知识库(技能 · 经验) | |
| 部署 | |
| 命令片段与策略 | |
| 监控与告警 | |
| 远程备份任务 | |
| 应用设置 | |
| 审计日志 | 默认不勾(体积大) |
| 聊天历史 | 默认不勾(体积大) |
刻意不备份:MCP Token(换机应当重签,而不是搬旧的)、监控历史、告警事件、备份运行流水——这些属于观测数据,重新攒即可。
三个页签
| 页签 | 做什么 |
|---|---|
| 本地备份 | 导出 / 还原一份 .reevebak 文件 |
| 云端同步 | 同一套类别与加密,文件推到你自己的 WebDAV |
| 存储端 | WebDAV 账号管理(新增 / 测试连通性 / 删除) |
云端同步
- 走 WebDAV,用你自己的网盘(坚果云等国内服务的非标响应也已适配)
- push / pull 两个方向,冲突策略是 last-write-wins
- 文件名带机器名,所以多台电脑各同步各的,不会互相顶掉
- WebDAV 密码 AES-256-GCM 加密入库,前端只知道「有没有设密码」,拿不到明文
备份文件本身是密文,但请当作机密对待
.reevebak 里的凭据是加密的,可它承载着你全部服务器的连接信息。放网盘可以,别放公开分享链接。
二、备份远程服务器上的数据
工作台 → 备份 标签(Linux 服务器专有,Windows 上不显示)。
7 种任务类型
| 类型 | 备份内容 |
|---|---|
| 目录 | 指定路径,支持排除规则 |
| MySQL | 逻辑导出 |
| PostgreSQL | 逻辑导出 |
| MongoDB | 逻辑导出 |
| Redis | 快照 |
| SQLite | 库文件 |
| 整站 | 站点目录 + nginx 配置 + 数据库,打成一个包 |
整站备份是单文件
产物形如 <域名>-<时间戳>.site.tar.gz,内含 manifest.json + 站点文件 + nginx 配置 + 数据库导出。拷走这一个文件就能迁站,不用自己拼零件。
产物与清理
- 落该服务器的
~/.reeve/backups/<任务名>/ - 设「保留份数」,超出自动清旧(远端文件 + 本地流水一起清)
定时备份
勾选定时后,任务会写进服务器自己的 crontab(配合 ~/.reeve/reeve-run.sh)。这意味着:
定时 + 数据库 = 密码会落在服务器上
勾「定时」又选了数据库类型时,界面会弹黄条明说:数据库密码会以 600 权限写进服务器上的脚本文件。这是「让机器自己按点跑」无法回避的前提。
不接受的话有替代方案:关掉定时改手动触发——那样密码只过内存,不落盘。界面上给的就是这个选择题,请按你的安全要求选。
即便如此,Reeve 仍尽量收敛暴露面:手动执行时数据库密码经 MYSQL_PWD / PGPASSWORD 环境变量传递,绝不进命令行(命令行会被 ps aux 全机器可见,也会原样写进审计文本)。
还原
还原是破坏性操作
必须手打确认文本才放行——一次误点不该能抹掉生产数据。
异地推送
备份产物可用 rclone 推到异地存储,避免「机器没了备份也跟着没」。