云存储与备份:换了驱动后备份还原流程怎么调整
更换云存储驱动后,应先分清存量文件在本地、增量文件在云桶并完成数据库与 uploads 全量冷备,再修改配置时处理访问域名和旧完整 URL、按原目录迁移存量文件并验证,随后将备份拆为数据库 mysqldump 与文件侧云桶版本控制及生命周期管理,最后在测试环境演练还原并先升级数据库。
换掉云存储驱动之后,备份和还原的流程要跟着改哪几处,这篇会把需要改的环节一步步列出来,照着做完能避免“数据库还原了、图片全裂”的情况。
第一步:先搞清楚文件到底存在哪
切换驱动前后,你最需要确认的是附件和图片的实际位置。Clara BBS 的用户上传文件默认落在站点 uploads 目录,一旦接上云存储,新上传的文件就写进云桶,老文件还留在本地。
登录服务器看一眼:
du -sh uploads/
ls uploads/ | head
同时进后台「系统设置 → 云存储」,确认当前填的桶名、访问域名、区域这些配置项。这一步的目的是分清存量文件和增量文件各自在哪,后面备份要分开对待。
注意:还有一种特殊情况——附件用“网盘链接模式”发布时,系统只存链接和提取码,不占服务器存储。这类内容无论你备份本地目录还是备份云桶都拿不到,别以为备份全了。
第二步:切换前做一次全量冷备
改配置之前,先把数据库和 uploads 目录都完整打包一份,放到跟当前云存储无关的地方(比如本地硬盘或另一家对象存储)。
mysqldump -u用户名 -p 数据库名 > backup_$(date +%F).sql
tar -czf uploads_$(date +%F).tar.gz uploads/
这份冷备是回滚的唯一保险。换驱动过程中任何一步出错,恢复这两个文件就能回到起点。
注意:只备份数据库不备份
uploads是最常见的翻车点。帖子文字回来了,图片附件全 404,等于没还原。
第三步:改配置,别忘访问域名
在后台「系统设置 → 云存储」里按新驱动的字段要求填好,保存即生效,不需要清缓存或重启。
这里有个细节:访问域名决定了页面上图片 URL 的前缀。如果新旧驱动的域名不同(比如从 A 云桶换到自有 CDN 域名),历史上已入库的完整 URL 不会自动改写,老图会裂。
注意:切换前先在数据库里搜一下附件表,看存的是相对路径还是带域名的完整 URL。是完整 URL 的话,换域名后要批量替换旧前缀,或者保留旧域名解析指向新桶。
第四步:迁移存量文件并验证
把本地 uploads 里的历史文件按原有目录结构同步到新桶,用各家提供的客户端或命令行工具都行,关键是保持路径不变。
迁移完抽三张图验证:一张老帖图片、一张新发的图片、一个付费附件。三个都能正常打开,说明读写链路通了。
第五步:重写备份脚本
这是流程调整的核心。原来的备份可能只是“打包 uploads 目录”,现在要拆成两件事:
- 数据库:照旧
mysqldump,频率不变 - 文件:本地
uploads只增量备份新文件(或干脆不备),云桶侧改用对象存储自带的版本控制/生命周期规则/跨区域复制
注意:云桶开了版本控制后,删除文件不会真删,会一直产生版本费用。设个生命周期规则把非当前版本 30 天后清掉,不然账单会慢慢涨。
第六步:还原演练一次
别等出事才第一次跑还原。找个测试环境走一遍:导入 SQL → 决定文件放哪(本地还是新桶)→ 进后台「系统工具 → 数据库升级」执行一次增量升级 → 清理缓存 → 登录检查附件下载。
Clara BBS 的增量 DDL 是幂等可重复执行的,多跑几次不会出问题。
注意:如果还原的是旧库配新程序,务必先升级数据库再访问前台,否则缺字段会直接报错。
小结
- 切换前分清存量文件在本地、增量文件在云桶,两类分别备份
- 冷备必须包含数据库 +
uploads目录,缺一不可 - 关注访问域名变化,完整 URL 入库的老附件不会自动改写
- 迁移时保持目录结构一致,抽三类文件验证读写
- 备份脚本改成“数据库 dump + 云桶生命周期策略”双轨
- 还原流程加一步「后台数据库升级」,并定期做演练
- 网盘链接模式的附件不在任何备份范围内,需单独记录
转载请注明出处,版权归原作者所有。
星耀SVIP
管理员
黑卡会员






