备份与恢复
本指南介绍 Palpo 服务器的备份策略,以确保数据安全和快速恢复。
需要备份的内容
关键数据
- PostgreSQL 数据库 - 包含所有用户数据、房间状态、消息和服务器配置
- 媒体文件 - 存储在
space_path目录中的用户上传文件 - 配置文件 - 您的
palpo.toml或等效文件 - 签名密钥 - 服务器签名密钥(如果单独存储)
备份优先级
数据库备份
PostgreSQL 备份方法
pg_dump(推荐用于中小型服务器)
完整备份:
压缩备份:
pg_basebackup(用于大型数据库)
自动备份脚本
创建 /etc/cron.daily/palpo-backup:
设置可执行权限:
媒体备份
rsync 方法
初始完整备份:
增量备份:
远程备份
到远程服务器:
到 S3 兼容存储:
配置备份
将配置保存在版本控制中:
恢复流程
完整服务器恢复
-
在新服务器上安装 Palpo
-
恢复 PostgreSQL 数据库:
-
恢复媒体文件:
-
恢复配置:
-
验证权限:
-
启动 Palpo:
仅数据库恢复
时间点恢复(PITR)
对于需要最小数据丢失的生产服务器:
-
在 PostgreSQL 中启用 WAL 归档:
-
创建基础备份:
-
恢复到特定时间点:
备份验证
定期测试备份
数据库备份验证:
自动验证脚本:
备份存储建议
本地存储
- 快速恢复
- 如果服务器故障有丢失风险
- 适合作为初始备份目标
远程/异地存储
- 防止站点故障
- 恢复较慢
- 灾难恢复必不可少
云存储
- 高度持久
- 按使用量付费
- 适合长期归档
推荐策略:3-2-1 规则
- 3 份数据副本
- 2 种不同的存储介质
- 1 份异地备份