服务公告

服务公告 > 游戏开服 > 游戏服数据备份:存档与数据库分开保

游戏服数据备份:存档与数据库分开保

发布时间:2026-06-02 13:31
## 适用场景:两类数据,两种命运 游戏服的数据分两类。一类是存档文件,记录世界本身:地形、建筑、容器内容;另一类是数据库里的玩家数据:背包、金币、权限。两类数据的变更频率、损坏方式与恢复粒度都不一样,用同一套策略去保,必然有一类保不周全。合理的做法是把它们拆开,各自配频率与保留周期。 ## 步骤清单:分别定频率与保留周期 存档文件每天至少一次全量,体量大之后改为每日增量加每周全量;玩家数据库变更更频繁,损失一小时数据玩家就有感,应提高频率或开启日志追加,保证能恢复到任意分钟。文件级的备份脚本保持朴素就好: ``` tar -czf world_$(date +%F_%H%M).tar.gz world/ ``` 备份产物不要留在本机数据盘,至少传一份到别的实例或下载归档,本机盘损坏时备份不能陪葬。保留周期上,最近七天的每日备份加最近四周的每周备份,足以应对绝大多数发现得晚的问题。顺云的快照适合整机级别的回退,与文件备份形成两层保险,但快照不能替代跨机器的异地副本。 ## 验证方法:恢复演练才算数 没恢复过的备份只是心理安慰。每月挑一次,把最近的存档备份与数据库备份在临时实例上拉起来,检查三件事:能否正常开服、玩家数据是否停在预期时间点、关键区域的地形与容器是否完好。验证通过的备份才计入有效的备份清单,失败的要当场排查是文件损坏还是流程缺步骤。 ## 注意事项 一是备份时机要在停写或者低写入时段进行,运行中直接打包存档可能捕捉到写了一半的状态,恢复出来就是坏档。二是不要把所有备份塞满同一块盘,备份盘写满会让正在运行的游戏跟着写档失败。三是权限与白名单这类配置文件容易被遗忘,它们也在备份清单里,换机时丢了同样抓瞎。