77 lines
2.0 KiB
Markdown
77 lines
2.0 KiB
Markdown
# 重大事件记录
|
||
|
||
**创建时间**: 2026-01-29 11:50:00 CST
|
||
**父技能**: ops-tools
|
||
|
||
---
|
||
|
||
## 2026-01-17: Melbourne 服务器 VNC 配置失误导致系统崩溃
|
||
|
||
**事件时间**: 2026-01-17 08:49:00 - 09:02:00+ ACDT
|
||
|
||
**事件**: 执行 `sudo pkill -9 -u coolbuy-dev` 导致 Melbourne 服务器崩溃失联
|
||
|
||
**后果**:
|
||
- macOS 图形系统崩溃
|
||
- Tailscale VPN 中断
|
||
- SSH 完全无法连接
|
||
|
||
**根本原因**: macOS 图形系统依赖用户会话,强制终止会导致 WindowServer 崩溃
|
||
|
||
**教训**:
|
||
```bash
|
||
# 永远不要在远程 macOS 上执行
|
||
sudo pkill -9 -u <username>
|
||
sudo killall -9 -u <username>
|
||
```
|
||
|
||
**解决方案**: 需要物理访问恢复
|
||
|
||
---
|
||
|
||
## 2026-01-16: AI-Proj Webhook 自动部署重新启用
|
||
|
||
**事件时间**: 2026-01-16 11:06:01 CST
|
||
|
||
**事件**: Gitea webhook 重新启用,恢复 main 分支自动部署
|
||
|
||
**验证结果**:
|
||
- Jenkins build #64 自动触发成功
|
||
- 数据库数据完整保留(664条需求记录验证通过)
|
||
- External volumes 配置有效
|
||
|
||
**部署流程**: `开发者 merge PR → Gitea webhook → Jenkins → 生产自动部署`
|
||
|
||
---
|
||
|
||
## 2026-01-15: AI-Proj 生产数据库丢失与恢复
|
||
|
||
**事件时间**: 2026-01-15 00:00:00 - 00:46:00 CST
|
||
|
||
**事件**: Jenkins 部署时 `docker compose down` 删除了非 external volumes
|
||
|
||
**影响**: 生产数据库完全清空,所有用户无法登录
|
||
|
||
**恢复过程**:
|
||
1. 从本地开发环境恢复完整数据(41 用户、54 项目、4,722 任务)
|
||
2. 使用新加坡跳板机优化传输
|
||
3. 完全重建数据库
|
||
|
||
**恢复完成**: 2026-01-15 00:46:00 CST
|
||
|
||
**预防措施**:
|
||
1. 所有数据卷标记为 `external: true`
|
||
2. Jenkinsfile 添加自动数据库迁移
|
||
3. 配置自动备份策略(本地 + 阿里云 OSS)
|
||
|
||
---
|
||
|
||
## 事件记录规范
|
||
|
||
记录重大事件时必须包含:
|
||
- **事件时间**: 完整的开始和结束时间
|
||
- **事件描述**: 清晰简洁的事件说明
|
||
- **影响范围**: 受影响的系统和用户
|
||
- **恢复过程**: 详细的恢复步骤
|
||
- **预防措施**: 包含完成时间
|