运维维护
备份与恢复
Crest 数据库、配置、运行目录、字体和导出文件备份恢复流程。
Crest 的核心数据由数据库、运行目录、配置文件和上传资源共同组成。只备份数据库通常不够,尤其是在使用自定义字体、图片、导出文件和本地存储时。
需要备份的内容
| 内容 | 说明 | 建议频率 |
|---|---|---|
| MySQL 数据库 | 用户、组织、权限、资源元数据、数据集配置等 | 每日,关键环境增加增量备份 |
| 部署配置 | Compose、环境变量、Kubernetes Secret、Ingress 配置 | 每次变更后 |
| 运行目录 | 上传文件、字体、导出文件、插件或临时资源 | 每日或按文件增长情况 |
| 证书与密钥 | HTTPS 证书、加密模式、AES Key、AES IV、SM4 Key、SSO Secret | 每次变更后 |
| 操作记录 | 变更记录、升级记录、回滚记录 | 每次维护后 |
单机备份建议
单机部署可以使用 crestctl backup 做基础备份。执行前确认磁盘空间充足,并记录当前版本。
crestctl version
crestctl status
crestctl backup备份完成后建议检查:
- 备份文件是否生成。
- 文件大小是否明显异常。
- 文件名是否包含日期或版本号。
- 备份文件是否同步到独立存储。
- 是否记录备份命令、操作人和结果。
数据库备份
外部 MySQL 环境建议由 DBA 或数据库平台统一备份。若需要手工导出,可参考:
mysqldump \
-h <mysql-host> \
-P <mysql-port> \
-u <mysql-user> \
-p \
--single-transaction \
--routines \
--triggers \
--databases crest \
> crest-$(date +%F).sql备份文件存放
备份文件不要长期放在 Crest 服务器本机。数据库、运行目录和密钥建议同步到受控的备份存储,并设置保留周期。
恢复前准备
恢复操作通常会覆盖现有数据,必须先确认恢复目标和回滚方式。
| 检查项 | 说明 |
|---|---|
| 恢复目标 | 恢复到原环境、新环境还是临时验证环境 |
| 备份版本 | Crest 版本、数据库结构和备份时间是否匹配 |
| 当前数据 | 是否需要先备份现有环境 |
| 用户通知 | 是否影响用户登录、编辑和导出 |
| 停机窗口 | 是否已经安排维护时间 |
恢复流程
停止 Crest 服务
进入维护窗口后停止服务,避免恢复过程中仍有用户写入数据。
备份当前状态
即使当前环境异常,也要尽量保存当前数据库和配置,便于问题追溯。
恢复数据库
将备份 SQL 或数据库平台快照恢复到目标数据库。
恢复运行目录和配置
恢复上传资源、字体、导出文件、证书和密钥。
启动 Crest
启动服务,观察日志,确认数据库连接和应用启动正常。
验证业务功能
登录、查看数据源、预览数据集、打开仪表盘、访问分享链接、提交导出任务。
恢复后检查
| 页面 | 检查内容 |
|---|---|
| 工作台 | 资源数量、最近访问和常用入口是否正常 |
| 数据源 | 连接测试是否成功 |
| 数据集 | 字段、权限、缓存配置、缓存表、同步状态和预览是否正常 |
| 仪表盘 | 图表是否正常渲染 |
| 数据大屏 | 图片、字体、预览是否正常 |
| 分享管理 | 分享链接是否符合恢复目标 |
| 导出中心 | 历史导出记录和新导出任务是否正常 |
