Files
easygoadmin-wiki/EasyGoAdmin_Gin_NaiveVue/zh/deploy/backup.md
T
2026-10-25 17:24:27 +08:00

1.8 KiB
Raw Blame History

11.9 备份与恢复

:::tip 概述 备份三件套:数据库(核心)、upload 目录(业务资产)、配置与 .env(密钥)。Redis 不需备份(缓存可重建)。定期演练恢复比备份本身更重要。 :::

备份对象与策略

对象 方式 频率建议
MySQL mysqldump / xtrabackup / 云快照 全量每日 + binlog 增量(按 RPO 定)
upload 目录 rsync / 对象存储同步 每日增量
config.yaml + .env 纳入配置库(.env 用加密通道) 变更时
Redis 不备份 丢失后自动重建缓存(注意黑名单语义变弱)

mysqldump 示例

# 全量
mysqldump -uroot -p --single-transaction --routines \
  easygoadmin.gin.elevue | gzip > backup_$(date +%F).sql.gz

--single-transaction 保证 InnoDB 一致性快照、不锁表。

恢复演练

gunzip < backup_2026-10-25.sql.gz | mysql -uroot -p easygoadmin.gin.elevue

恢复后验证:

  • 表数量与关键表行数
  • 超管可登录、菜单完整
  • upload 目录文件可访问(域名配置一致)
  • 定时任务正常调度

恢复目标(RTO/RPO)

指标 含义 由什么决定
RPO 最多丢多少数据 备份频率 + binlog 保留
RTO 多快恢复服务 备份介质速度 + 恢复演练熟练度

中小基线:RPO ≤ 24h(每日全量)、RTO ≤ 2h(演练过的标准恢复流程)。

注意

  • 备份文件与生产网段隔离(防勒索软件连备份一起加密)
  • 密钥(.env/JWT)单独安全存放——只有库没有密钥无法恢复服务
  • 版本升级/大变更前强制临时全量

相关