传奇之家 - 传奇开区一条龙服务网站

当前位置:传奇之家 > 常见问题 > > 详细页面

如何为传奇私服配置自动备份数据库?

如何为传奇私服配置自动备份数据库?

如何为传奇私服配置自动备份数据库?

作者:传奇之家类别:常见问题

更新:2026-06-08查看次数:126

下面以传奇私服最常用的 Hero/Blue/KSD/GEE/LEG 引擎 + DBC2000(BDE)? 架构为例,给你几种可实际落地的自动备份数据库方案,从简单到完善依次说明。

一、要备份什么?

标准传奇私服需备份的核心数据:
  • 角色/物品数据库MirServer\DBServer\FDB\Hum.DBMir.DBHumhero.DBHeromir.DB
  • 行会/排行榜MirServer\Mir200\Envir\GuildBase\`、MirServer\Mir200\Envir\Castle`
  • 自定义变量TXT(签到/积分等):MirServer\Mir200\Envir\QuestDiary\数据\*.txt
  • 金币/元宝如存DB扩展字段一并随 Hum.DB 备份即可
?? 只关服拷贝不完全可靠,要热备建议在自动存盘后低峰定时拷贝,避免写一半拷贝损坏。

二、方案①:Windows 任务计划 + BAT 脚本(最常用·推荐)

1?? 编写备份脚本 AutoBackDB.bat


 

	
@echo off
set SRV=D:\MirServer
set BAK=D:\MirBack\DB\%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%
set BAK=%BAK: =0%

md "%BAK%" 2>nul

:: 备份角色数据库
copy /Y "%SRV%\DBServer\FDB\Hum.DB"      "%BAK%\Hum.DB"
copy /Y "%SRV%\DBServer\FDB\Mir.DB"      "%BAK%\Mir.DB"
copy /Y "%SRV%\DBServer\FDB\Humhero.DB"  "%BAK%\Humhero.DB"
copy /Y "%SRV%\DBServer\FDB\Heromir.DB" "%BAK%\Heromir.DB"

:: 备份行会
xcopy /E /Y "%SRV%\Mir200\Envir\GuildBase" "%BAK%\GuildBase\" >nul
xcopy /E /Y "%SRV%\Mir200\Envir\Castle"    "%BAK%\Castle\"    >nul

:: 备份自定义变量
xcopy /E /Y "%SRV%\Mir200\Envir\QuestDiary\数据" "%BAK%\QuestData\" >nul

:: 清理7天前备份(可选)
forfiles /p D:\MirBack\DB /d -7 /c "cmd /c if @isdir==TRUE rd /s /q @path" 2>nul

echo Backup OK > "%BAK%\BACK_OK.txt"
 
 
  • 备份目录示例:`D:\MirBack\DB\20260108_1430`
  • 自动删除 7天前旧备份释放空间
  • 时间中含空格时 set BAK=%BAK: =0%处理补零

2?? 创建计划任务

  1. Win + Rtaskschd.msc
  2. 创建基本任务? → 命名"传奇DB自动备份"
  3. 触发器:每天 / 每 X 小时(建议 每30分钟或每小时
  4. 操作:启动程序 → 浏览选择 AutoBackDB.bat
  5. 「起始位置」填 `D:\MirServer`(避免相对路径问题)
  6. 勾选"使用最高权限运行"
? 建议备份间隔:每30~60分钟,合区/开新区期间可加密集些。

三、方案②:M2 定时存盘 + 延时拷贝(更安全)

在 M2 中先强制缩短自动存盘间隔:
  • M2 → 选项 → 参数设置 → 人物数据 → 自动保存间隔? 设 3~5分钟
BAT 中加短暂等待避开峰值写盘(可选):

 

	
:: 等10秒让存盘完成再拷
timeout /t 10 /nobreak >nul
copy /Y "D:\MirServer\DBServer\FDB\Hum.DB" "D:\MirBack\DB\Hum.DB"
...
 
 
或在计划任务中设触发时间为整点过2分,避开存盘高峰。

四、方案③:关服自动备份(合区/维护时用)

RunServer.bat或关服批处理中加:

 

	
:: 关服后执行
xcopy /E /Y D:\MirServer\DBServer\FDB D:\MirBack\DB_Manual\ /D >nul
xcopy /E /Y D:\MirServer\Mir200\Envir\GuildBase D:\MirBack\DB_Manual\GuildBase\ /D >nul
 
 
适合合区前、版本更新前手动点一次,作为最后一道保险。

五、进阶建议(重要)

项目
建议
备份介质
本机盘 + 另一物理盘/NAS/云盘同步(rsync/FreeFileSync)
合区前
必须做一次全量冷备(关服拷全部 FDB+Envir)
恢复演练
偶尔抽样恢复一台测试库验证 Hum.DB 未损坏
日志监控
备份脚本可写 >> D:\MirBack\backup.log记录每次结果
版本控制
自定义变量TXT可用 Git 仓库存版本历史(轻量方便回溯)