备份与恢复

使用内建命令为 SQLite 或 PostgreSQL 创建同一读取事务内的一致性快照。备份目录需尚不存在;manifest.json 包含格式、schema、程序版本、数据库引擎、部署文件 SHA256、数据校验和与密钥标识,database.jsonl 保存数据库行。文件权限为 0600,目录为 0700。部署 YAML、环境变量和 Vault 数据需独立保管;加密密钥不要放入备份目录。

mcphub backup --config config.yaml --output ./backup-20261003
mcphub verify-backup --config config.yaml --backup ./backup-20261003
mcphub restore --config config.yaml --backup ./backup-20261003 --into ./recovery/config.db

verify-backup 校验校验和和密钥,并在临时 SQLite 数据库中恢复、读取配置与用户,记录演练结果。PostgreSQL 需要用 --into MCPHUB_DRILL_DSN 指向专用空数据库;DSN 值只在该环境变量中保存。恢复必须使用同一数据库引擎、当前 schema 和匹配密钥,SQLite 目标路径必须不存在,PostgreSQL 目标必须为空。

恢复事务会撤销原有登录及刷新会话、Broker/服务授权、设备待授权和未完成审批,并轮换签名密钥。不会恢复旧 Token 的可用性;用户需要重新登录和授权。恢复不会修改源数据库。将恢复副本接到隔离实例,检查登录、服务目录、凭证和实际只读调用,再安排切换。「运维中心」展示最近备份和数据库恢复检查;数据库读取检查不等于完成业务恢复验收。这里只说明新部署的灾难恢复,不提供旧配置或数据库迁移。