Files
lingxi-web/docs/BACKUP-RESTORE.md
T
wmq af49d22ca7 feat: release contextual omnichannel customer platform
Add Telegram, WhatsApp and email account management, realtime messaging, contextual multilingual AI, customer intelligence, knowledge workflows, enterprise controls, a unified design system and complete repository documentation.
2026-07-30 02:29:53 +08:00

61 lines
2.0 KiB
Markdown

# 备份与恢复
## 备份范围
1. PostgreSQL:租户、用户、客户、消息、任务、审计和持久队列。
2. `lingxi_whatsapp_data`:WhatsApp 多设备登录态与网关缓存。
3. Telegram Gateway:由其独立部署执行 TDLib 数据和配置备份。
4. 环境密钥:存入公司 Secret 管理系统,不与数据备份打包。
5. 对象存储或上传目录:若生产启用,按独立生命周期备份。
## PostgreSQL
```bash
docker compose exec -T postgres pg_dump \
-U "${LX_DB_USER:-lingxi}" \
-d "${LX_DB_NAME:-lingxi_crossborder}" \
-Fc > "lingxi-postgres-$(date +%Y%m%d-%H%M%S).dump"
```
恢复必须在隔离环境先演练:
```bash
createdb lingxi_restore_test
pg_restore --clean --if-exists --no-owner \
--dbname lingxi_restore_test lingxi-postgres-YYYYMMDD-HHMMSS.dump
```
## WhatsApp 持久卷
备份前短暂停止网关写入,避免文件不一致:
```bash
docker compose stop whatsapp-gateway
docker run --rm \
-v lingxi-crossborder_lingxi_whatsapp_data:/source:ro \
-v "$PWD/backups:/backup" \
alpine tar -czf /backup/whatsapp-data.tar.gz -C /source .
docker compose start whatsapp-gateway
```
恢复前保留现有卷副本,在测试环境验证账号能重连;登录态过期时应走重新授权,不能把旧凭据强行用于其他账号。
## 策略
- PostgreSQL:每日全量,生产规模扩大后增加连续归档或托管 PITR。
- 网关登录态:每日加密备份,账号变更后额外备份。
- 至少保留 7 个日备、4 个周备、6 个月备,按法规和客户合同调整。
- 备份使用独立凭据、服务端加密和异地存储。
## 恢复演练
每月至少一次:
1. 在隔离网络创建全新环境。
2. 恢复数据库、网关数据和必要配置。
3. 验证租户数、关键表行数和最近消息时间。
4. 验证登录、会话读取、渠道重连、收发和媒体下载。
5. 记录 RPO、RTO、失败点和改进项。
仅“备份成功”不等于可恢复;没有完成验收的备份不得视为合格。