106

Rhex备份和恢复备份的详细步骤

秦始黄
·5天前

本教程适用于使用 Docker Compose 部署的 Rhex 论坛系统,帮助您:

定期备份数据库和用户上传文件
从备份中快速恢复数据


备份命令

bash
docker compose --profile backup run --rm postgres-backup tar -czf backups/rhex-files-$(date +%Y%m%d-%H%M%S).tar.gz uploads addons .env docker-compose.yml

备份后得到两个文件:

  • backups/rhex_YYYYMMDD-HHMMSS.dump(数据库备份)
  • backups/rhex-files-YYYYMMDD-HHMMSS.tar.gz(文件备份)

恢复教程(示例目录与名称)

假设:

  • 项目目录:/www/dk_project/dk_app/Rhex
  • 数据库备份:/www/dk_project/dk_app/Rhex/backups/rhex-20260516-162228.dump
  • 文件备份:/www/dk_project/dk_app/Rhex/backups/rhex-files-20260516-162317.tar.gz
  • 数据库服务名:postgres
  • .env 配置:
    text
    POSTGRES_DB=bbs POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres

恢复命令(逐条执行)

bash
# 1. 进入项目目录 cd /your/project/path/Rhex # 2. 停止所有服务(可选) docker compose down # 3. 恢复文件(覆盖 uploads、addons、.env、docker-compose.yml) tar -xzf backups/rhex-files-20260516-162317.tar.gz -C . # 4. 仅启动数据库容器 docker compose up -d postgres # 5. 等待数据库就绪(约5秒) sleep 5 # 6. 恢复数据库(使用 pg_restore) docker compose exec -T postgres pg_restore -U postgres -d bbs --clean --if-exists < backups/rhex-20260516-162228.dump # 7. 启动所有服务 docker compose up -d # 8. 访问 http://localhost:3000 验证

最后访问 http://localhost:3000 验证。

受命于天,既寿永昌!

回复讨论
1

登录后可参与回复讨论。

文明发言,理性讨论
Calm
·前天