Skip to content

备份与恢复

面向有备份设置、任务执行、文件下载/删除和运行历史权限的管理员。需要后端备份模块、游戏存档/数据库/配置文件可读,并且目标目录可写;备份本身不提供一键恢复。

目的

按共享时区和 Cron 计划保存世界、数据库和服务器配置,保留可验证的运行记录,并在严重故障时按受控手册恢复而不覆盖唯一副本。

开始前

  • 确认账号可以更新备份设置、运行任务、下载文件、删除文件和读取备份历史;删除权限应只授予值班管理员。
  • 为三个子功能准备不同且可写的目标目录。相对目录按服务器应用根解析;示例只使用安全占位符,不要把真实磁盘路径写入文档或工单。
  • 明确恢复窗口、停服负责人、数据库文件位置和验证步骤。先做一次手动备份,再用只读方式检查生成的文件。
text
World: <SERVER_BACKUP_ROOT>/world
Database: <SERVER_BACKUP_ROOT>/database
ServerConfig: <SERVER_BACKUP_ROOT>/server-config

操作步骤

设置

  1. 在设置中启用或停用备份总开关,并填写共享 TimeZoneId(例如 UTCAsia/Shanghai)。该时区统一解释世界、数据库和服务器配置三个子功能的 Cron;不要用浏览器显示时间替代已保存时区。
  2. 设置 HistoryRetentionDays。它清理备份运行历史,不会代替每个子功能的文件 RetentionCount;需要长期审计时另行导出记录。
  3. 保存后重新加载设置,确认总开关、共享时区和历史保留值一致。只有总开关和子功能都启用时,Cron 才会注册。

任务

  1. 打开任务页,分别选择 World、Database 和 ServerConfig 标签。每个标签都要单独设置启用状态、Cron、目标目录、是否压缩和文件保留数。
  2. World 备份可启用 SaveWorldBeforeBackup,系统会在复制存档前请求 saveworld;Database 使用在线 SQLite 快照;ServerConfig 只复制当前服务器配置文件。
  3. 选择 CompressToZip 时输出 ZIP;关闭时输出目录。按磁盘预算设置 RetentionCount:负数关闭文件修剪,0 只保留本次输出,正数保留最近数量。三个子功能使用不同目录,避免互相修剪。
  4. 如需通知玩家,分别启用开始/完成广播并填写消息。消息支持 {taskName};完成消息还支持 {status}。广播是提示,不代表文件已验证。
  5. 保存后先执行一次“立即运行”,在确认框中确认子功能和原因。任务页的文件表只能下载或删除目标目录下的条目;删除前核对文件名、创建时间和类型。

恢复运行手册

  1. 宣布维护并停止 7DTD 游戏、后端写入和所有会修改目标数据的自动任务;保留管理员会话和原始日志。
  2. 将当前世界、数据库和配置文件复制到隔离的保留目录,例如 <RECOVERY_STAGING_ROOT>/current,不要直接覆盖。记录当前版本、时间和文件大小。
  3. 从文件表或历史中选定已知良好的备份,核对任务类型、创建时间、压缩格式、来源和运行状态;ZIP 先在隔离目录解压并检查可读性。
  4. 在服务停止状态下按类型恢复:把 World 内容放回 <7DTD_SERVER_ROOT>/Saves 对应存档,把 Database 快照放回 <SERVERADMIN_DATABASE_FILE>,把 ServerConfig 文件放回 <SERVER_CONFIG_FILE>。保持原始保留副本,直到验证完成。
  5. 按顺序启动后端和游戏,检查启动日志、世界加载、数据库读写、配置生效和玩家连接。发现异常时停止服务并从隔离副本回滚;记录所选备份、操作者、时间和验证结果。

历史

  1. 在备份历史按任务类型(World、Database、ServerConfig)、触发方式(Cron/Manual)、成功状态和时间范围筛选。
  2. 打开运行详情,检查状态、摘要、错误信息、警告、来源数量、输出路径、压缩状态、开始/结束时间、耗时和操作者。成功记录也要确认输出文件确实可下载。
  3. 把文件表中的创建时间、大小和类型与运行详情对照。失败时先修复目录权限、空间、源文件可读性和数据库连接,再重试并保留失败记录。
  4. HistoryRetentionDays 清理旧运行记录前,导出需要的审计证据;按 RetentionCount 删除文件前,确认恢复窗口没有依赖这些文件。
备份设置

该图展示备份设置控件;未显示运行历史、输出文件或服务器路径。

验证结果

  • 三个标签均显示保存后的启用状态、Cron、目标目录、压缩和文件保留数;共享时区在三个任务上生效。
  • 每个启用的子功能至少有一条成功运行记录和对应文件。World 运行详情显示保存世界步骤(若启用),Database 文件可作为 SQLite 快照读取,ServerConfig 文件可打开并包含预期键。
  • 压缩开启时文件表显示 ZIP,关闭时显示目录;修剪后文件数量符合 RetentionCount。开始/完成广播只在设置启用且消息模板有效时出现。
  • 恢复演练使用隔离副本完成启动和只读检查,原始数据仍保留,运行历史和审计日志记录了选择、操作者与结果。

限制与安全说明

WARNING

备份依赖源文件可读、目标目录可写、磁盘空间和正确的服务器时区。saveworld 只适用于 World 任务,广播不能替代文件校验;压缩和保留策略会改变磁盘占用与删除行为。

DANGER

恢复会覆盖世界、数据库或服务器配置。没有一键恢复接口;必须停服、保留当前副本、在隔离目录验证归档,并由第二名管理员复核目标后再替换。不要删除最后一个可恢复版本,不要公开真实路径、数据库、Webhook 或令牌。

  • 文件删除接口只接受目标目录下的条目名称,但管理员仍应在点击前核对类型和时间;下载文件应通过受保护的管理会话。

相关页面