新增后台数据库备份与回滚

This commit is contained in:
2026-06-23 12:27:16 +08:00
parent 668e0403af
commit 529e175d2c
17 changed files with 754 additions and 26 deletions

View File

@@ -608,9 +608,27 @@ docker compose down -v
## 11. 备份
### 11.1 Compose 内置 MySQL
### 11.1 后台备份管理
手动备份
正式后台已经提供可视化备份入口
- 登录后台。
- 进入「备份管理」。
- 点击「立即备份」。
- 页面会列出本地已有数据库备份、备份时间、文件大小和来源。
- 需要恢复时,点击对应备份的「回滚」,按弹窗输入确认语。
后台创建的数据库备份保存在:
```text
/data/certificate-system/db-backups
```
回滚前系统会自动再创建一份当前数据库备份,来源显示为「回滚前自动备份」。这份备份是为了防止选错时间点后还能退回。
### 11.2 Compose 内置 MySQL 命令兜底
一般不用手写命令。只有在后台打不开、需要紧急从服务器层面导出数据库时,再使用下面的兜底方式:
```bash
mkdir -p /data/backups/mysql
@@ -618,7 +636,7 @@ cd /opt/certificate-system
docker compose exec -T mysql mysqldump -ucertificate -p你的业务库密码 certificate_system > /data/backups/mysql/certificate_system_$(date +%F).sql
```
定时备份
如果后续仍希望服务器自动每天备份,可以加定时任务
```bash
crontab -e
@@ -631,7 +649,7 @@ crontab -e
10 3 * * * find /data/backups/mysql -name "certificate_system_*.sql" -mtime +30 -delete
```
### 11.2 RDS MySQL
### 11.3 RDS MySQL
建议:
@@ -640,7 +658,7 @@ crontab -e
- 大版本升级前手动创建一次快照。
- 保留至少 7 到 30 天备份。
### 11.3 文件数据
### 11.4 文件数据
需要备份:
@@ -687,6 +705,8 @@ docker compose up -d --build
cat /data/backups/mysql/certificate_system_YYYY-MM-DD.sql | docker compose exec -T mysql mysql -ucertificate -p你的业务库密码 certificate_system
```
如果后台可以正常打开,优先使用后台「备份管理」里的可视化回滚,不要直接执行恢复命令。
## 13. 常见问题排查
### 13.1 页面打不开