备份日志管理

记录每次全量 / 代码 / MongoDB 等备份的路径、命令与说明。新备份请在下方复制一块 .entry 结构追加(或按相同版式在 HTML 中增加一节)。

全量备份 · 本地 + 服务器 + MongoDB
已完成

1. 本地(开发机 Windows)

  • 命令npm run backup:full(对应 scripts/full-backup.js
  • 生成文件backups/im-bridge-full-v2.1.0-20260329-093637.tar.gz(相对仓库根目录)
  • 内容:当前仓库整树;已排除 node_modulestest-results;不包含历史 backups/*.tar.gz 以免嵌套。
  • 数据目录:当时未设置 IM_BRIDGE_DATA_DIR,故额外生成 im-bridge-data-*.tar.gz。若需一并打包外置配置目录,可在 PowerShell 中执行:
    $env:IM_BRIDGE_DATA_DIR='<数据目录绝对路径>'; npm run backup:full

2. 服务器(106.14.25.190)

备份目录:/app/im-bridge-backups/

文件名说明
im-bridge-code-20260329-093805.tar.gz /app/im-bridge 应用目录;已排除 node_modulestest-results
mongo-im-bridge-20260329-093945.archive.gz MongoDB 数据库 im-bridgemongodump --gzip 单文件归档;URI:mongodb://127.0.0.1:27017/im-bridge
im-bridge-data-20260329-094000.tar.gz 外置数据目录 /app/im-bridge-data(若存在则已打包;体积极小表示主要为配置文件类)。
说明:曾误生成空时间戳包 im-bridge-code-.tar.gz(PowerShell 与 SSH 引号导致远程 $STAMP 为空),已在服务器上删除。后续在 Windows 下执行远程备份时,建议对 SSH 远程脚本使用单引号包裹整段,避免本地展开变量。

3. MongoDB 恢复参考(服务器)

在目标机已安装 mongorestore、且确认 URI 与库名无误时使用。以下为覆盖式示例,生产请谨慎:

mongorestore --uri=mongodb://127.0.0.1:27017/im-bridge \
  --archive=/app/im-bridge-backups/mongo-im-bridge-20260329-093945.archive.gz \
  --gzip --drop

--drop 会先删除目标库中已有集合再导入。建议先在测试实例或临时库验证。

4. 运维建议

  • /app/im-bridge-backups/ 定期同步到对象存储或其它机器,避免与系统盘同损。
  • 若 Mongo 使用认证或非本机地址,请在后续备份记录中写明实际 MONGODB_URI(勿将密码提交到公开仓库)。

如何追加新的一条备份记录

  1. 复制本页中 <article class="entry" ...></article> 的整段。
  2. 粘贴到第一个 .entry 上方(保持时间倒序)。
  3. 修改 id、标题、日期、表格行与命令为本次实际内容。
  4. 保存后可将本文件一并纳入下次 npm run backup:full 的归档(或单独 scp 到服务器备查)。