docs: 更新备份策略文档,反映版本去重和选择性回滚

- 备份文件名格式:{project}.backup.{timestamp}.{gitHash}.{md5前8位}
- 清理策略:保留 5 个不同版本,相同版本只保留最早的
- 手动回滚:支持选择特定版本
This commit is contained in:
2026-04-19 20:56:32 +08:00
parent 0c7d44d795
commit fb791a2a7c

View File

@@ -433,9 +433,13 @@ let new_expires = base_time + days(pkg_days);
./deploy.sh production --backup-list # 列出可用备份
```
**deploy.sh 功能**:依赖检查 → 编译 → 备份旧版本 → 清理旧备份保留5个→ 上传二进制/配置/迁移/脚本 → 重启服务 → **数据库备份****执行迁移** → 部署后测试 → 记录日志 → Webhook 通知
**deploy.sh 功能**:依赖检查 → 编译 → 备份旧版本 → 清理旧备份保留5个不同版本)→ 上传二进制/配置/迁移/脚本 → 重启服务 → **数据库备份****执行迁移** → 部署后测试 → 记录日志 → Webhook 通知
**二进制备份**自动保留最近 5 个备份,超出数量的旧备份在每次部署时自动清理。
**二进制备份**
- 命名格式:`{project}.backup.{timestamp}.{gitHash}.{md5前8位}`
- 示例:`rust-backend.backup.20260419_204600.a91948b.7f3e2d1c`
- 自动保留 5 个**不同版本**的备份(相同版本只保留最早的)
- 清理时按 MD5 去重,防止同一版本的多个备份占用空间
**数据库备份**
- 位置:`${REMOTE_DIR}/backups/${DB_NAME}_*.dump`
@@ -452,9 +456,13 @@ let new_expires = base_time + days(pkg_days);
- 测试失败后自动执行,无需手动干预
- Webhook 通知会发送失败回滚消息
**回滚**
**手动回滚(支持选择版本)**
```bash
./deploy.sh production --rollback # 回滚生产环境(仅二进制)
./deploy.sh production --rollback # 回滚时可以选择版本
./deploy.sh production --backup-list # 列出所有可用备份
```
回滚时会列出所有备份(按版本分组),用户可以选择回滚到哪个版本。
```
**Webhook 通知(可选):**