新增后台数据库备份与回滚
This commit is contained in:
@@ -56,6 +56,8 @@ docker compose exec backend python -m app.cli init-db --admin-username admin --a
|
||||
|
||||
## 备份
|
||||
|
||||
- MySQL 每日备份已配置。
|
||||
- 后台「备份管理」可以查看本地备份并手动创建备份。
|
||||
- 已完成一次手动备份和一次只读检查,确认 `/data/certificate-system/db-backups` 有备份文件。
|
||||
- 如果需要每日自动备份,服务器定时策略已配置。
|
||||
- `uploads`、`error-reports`、`exports` 已纳入备份策略。
|
||||
- `pdf-cache` 不纳入长期备份。
|
||||
|
||||
@@ -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 页面打不开
|
||||
|
||||
@@ -561,6 +561,19 @@ https://你的域名/admin/login
|
||||
|
||||
## 14. 数据备份
|
||||
|
||||
正式后台提供「备份管理」页面,日常优先使用后台:
|
||||
|
||||
- 查看本地已有数据库备份。
|
||||
- 点击「立即备份」生成当前数据库备份。
|
||||
- 选择某个备份点并输入确认语后回滚。
|
||||
- 回滚前系统会自动再备份一次当前数据库。
|
||||
|
||||
后台备份文件保存在:
|
||||
|
||||
```text
|
||||
/data/certificate-system/db-backups
|
||||
```
|
||||
|
||||
### 14.1 如果使用 RDS
|
||||
|
||||
建议:
|
||||
@@ -572,7 +585,7 @@ https://你的域名/admin/login
|
||||
|
||||
### 14.2 如果使用 ECS 自建 MySQL
|
||||
|
||||
至少每天备份一次数据库。
|
||||
至少每天备份一次数据库。后台「备份管理」可以完成手动备份和回滚;下面命令只作为后台不可用时的服务器兜底方案。
|
||||
|
||||
创建备份目录:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user