备份与恢复
数据库备份、Docker 卷备份和灾难恢复流程。
备份与恢复
定期备份是保障 OpenVort 数据安全的关键。本文档介绍数据库备份、Docker 卷备份和灾难恢复的完整流程。
备份范围
| 备份项 | 优先级 | 说明 |
|---|---|---|
| PostgreSQL 数据库 | 最高 | 所有业务数据、会话记录、配置 |
.env 文件 | 高 | 环境变量、密钥、LLM 配置 |
identity.md | 高 | AI 员工人设定义 |
| Docker workspace 卷 | 中 | AI 员工工作目录中的代码和产出物 |
数据库备份
手动备份
# Direct pg_dump (if PostgreSQL is installed locally)
pg_dump -U openvort -d openvort -F c -f backup_$(date +%Y%m%d).dump
# Via Docker (if using containerized PostgreSQL)
docker exec openvort-db pg_dump -U openvort -d openvort -F c > backup_$(date +%Y%m%d).dump
自动备份(Cron)
创建备份脚本 /opt/openvort/backup.sh:
#!/bin/bash
BACKUP_DIR=/opt/openvort/backups
DATE=$(date +%Y%m%d_%H%M)
# Database backup
docker exec openvort-db pg_dump -U openvort -d openvort -F c > "$BACKUP_DIR/db_$DATE.dump"
# Keep only last 30 days
find "$BACKUP_DIR" -name "db_*.dump" -mtime +30 -delete
echo "Backup completed: db_$DATE.dump"
添加 Cron 任务:
# Run daily at 2:00 AM
0 2 * * * /opt/openvort/backup.sh >> /var/log/openvort-backup.log 2>&1
数据库恢复
# Restore from dump file (local)
pg_restore -U openvort -d openvort -c backup_20240101.dump
# Restore via Docker
docker exec -i openvort-db pg_restore -U openvort -d openvort -c < backup_20240101.dump
恢复操作会覆盖现有数据。执行前请确认目标数据库正确,建议先在测试环境验证。
Docker 卷备份
AI 员工的工作目录存储在 Docker 卷中,可通过临时容器进行备份:
# Backup a volume
docker run --rm -v openvort_workspace:/data -v $(pwd):/backup alpine tar czf /backup/workspace_$(date +%Y%m%d).tar.gz -C /data .
# Restore a volume
docker run --rm -v openvort_workspace:/data -v $(pwd):/backup alpine tar xzf /backup/workspace_20240101.tar.gz -C /data
升级前备份
每次升级 OpenVort 版本前,务必执行完整备份:
# 1. Stop services
openvort stop
# 2. Backup database
docker exec openvort-db pg_dump -U openvort -d openvort -F c > pre_upgrade_$(date +%Y%m%d).dump
# 3. Backup .env and identity files
cp .env .env.bak.$(date +%Y%m%d)
# 4. Proceed with upgrade
openvort upgrade
备份策略建议
| 级别 | 频率 | 保留时长 | 存储位置 |
|---|---|---|---|
| 每日备份 | 每天 02:00 | 7 天 | 本地磁盘 |
| 每周备份 | 每周日 03:00 | 4 周 | 异地存储 / 对象存储 |
| 每月备份 | 每月 1 日 04:00 | 12 个月 | 异地存储 / 对象存储 |
灾难恢复流程
当服务器故障或数据损坏时,按以下步骤恢复:
- 准备新环境:在新服务器上安装 Docker 和 Docker Compose
- 安装 OpenVort:执行标准安装流程
- 恢复配置:将备份的
.env文件和identity.md复制到新环境 - 恢复数据库:使用最近的数据库备份文件执行
pg_restore - 恢复工作卷:将 Docker 卷备份恢复到对应卷
- 验证服务:启动服务,检查 Web 面板、AI 对话、IM 渠道是否正常
恢复后建议立即执行一次完整备份,作为新的基线。