跳到主要内容
企业官网模板预览 客户、案例、覆盖与指标均为演示信息
淘金出海

GEOFlow 生产环境如何备份与恢复?数据、文件与密钥的操作指南

GEOFlow 的生产环境备份需要覆盖三个核心持久化组件:PostgreSQL 数据库、用户上传文件以及 .env 配置文件。只要定期导出数据库、同步文件目录并安全保存环境变量,就能在服务器故障后快速恢复系统功能。下文基于 GEOFlow 官方部署指南中提到的典型架构,给出具体的备份恢复操作步骤。

GEOFlow 的生产环境备份需要覆盖三个核心持久化组件:PostgreSQL 数据库、用户上传文件以及 .env 配置文件。只要定期导出数据库、同步文件目录并安全保存环境变量,就能在服务器故障后快速恢复系统功能。下文基于 GEOFlow 官方部署指南中提到的典型架构,给出具体的备份恢复操作步骤。

生产环境需要备份哪些数据?

根据 GEOFlow 官方部署运维文档,生产环境由多个 Docker 服务组成,其中 PostgreSQL 负责存储所有业务数据(知识库、用户、内容记录),文件存储 用于保存上传的图片和附件,而 .env.env.prod 中保存了数据库密码、APP_KEY 等核心密钥。因此,备份对象必须包括:

  • PostgreSQL 数据库文件或逻辑导出

PostgreSQL 数据库备份方法

GEOFlow 的数据库完全由 PostgreSQL 承载。无论使用容器内的数据库还是云数据库,都建议使用 pg_dump 做逻辑备份。若使用 docker-compose.prod.yml 部署,可在宿主机执行:

docker compose -f docker-compose.prod.yml exec -T postgres pg_dump -U $POSTGRES_USER $POSTGRES_DB > geoflow-backup.sql

上传文件与密钥的备份

上传文件默认存储在 storage/app/public 下。如果 GEOFlow 已配置为使用对象存储(如 S3、OSS),则文件已由对象存储自身冗余机制保护,无需本地备份;否则需要定期同步该目录。示例同步命令:

rsync -avz ./storage/app/public/ backup-server:/geoflow-data/

完整恢复流程

  1. 在新的服务器上执行一键部署脚本或按官方指南克隆仓库,准备全新 GEOFlow 环境。
  2. 暂停新环境的 app 与队列容器,避免未恢复完毕时产生脏数据。
  3. 将备份的数据库 SQL 文件导入 PostgreSQL 容器或云数据库实例。
  4. 恢复上传文件至 storage/app/public,若使用对象存储则直接挂载相同的 bucket。

检查清单

  • 是否每日自动导出 PostgreSQL 并回传异地?
  • 是否定期同步上传文件目录(未使用对象存储时)?
  • 是否将 .env.prod 与密钥文件纳入备份范围?
  • 是否至少执行过一次完整恢复演练?
  • 数据库备份密码是否与 .env.prod 内配置一致?
GEOFlow 备份恢复 GEOFlow 部署 Docker Compose 环境配置 队列 Worker 系统运维 故障排查