Mmaccms.clubDOCS
站点维护

备份、恢复与迁移

备份 MacCMS 数据库、上传文件、模板和配置,在独立测试站恢复并验证,再进行搬家或版本升级。

MacCMS V10 · 更新于 · MacCMS Club 编辑部 · 版本与验证范围

一个可恢复的备份必须同时包含数据库与文件。只下载 template 或只导出 SQL,都不能完整恢复站点。

需要保存什么

内容位置/范围原因
数据库完整站点数据库内容、分类、会员、订单等
上传文件upload本地封面与附件
模板template自定义布局与资源
程序及插件程序完整副本、addons与备份数据库匹配的版本
配置application/database.php、application/extra、application/route.php数据连接、播放器、站点与路由配置
Web 设置域名、PHP 版本、伪静态、定时任务文件迁移不会自动迁移这些设置

配置可能含密钥,备份保存在站点根目录之外,不放到能通过 URL 下载的位置。

面板备份路线

  1. 在「数据库」找到此站数据库,执行备份/导出,下载 SQL。
  2. 在「文件」将程序目录压缩,保留上传、模板与配置;缓存可以不带。
  3. 用同一日期命名文件和 SQL,记录程序版本、PHP 版本及备份时间。
  4. 重要更新前暂停写入或进入维护窗口,避免文件与数据库来自明显不同时间点。

命令行导出示例

下面是 Linux shell 示例,将库名换成实际名称。-p 会交互询问密码,不要把密码写进命令历史。

mysqldump -h 127.0.0.1 -u maccms_demo -p --single-transaction --routines --triggers maccms_demo > /safe-backups/maccms-demo.sql

先创建并保护 /safe-backups。single-transaction 适用于事务表;存在非事务表时需要维护窗口或数据库级一致性备份。

在副本恢复一次

  1. 建立新的空数据库和测试站点;测试时不要覆盖原库。
  2. 解压同一份程序文件,在 application/database.php 改为测试库连接。
  3. 用面板导入 SQL,或使用下面命令。
mysql -h 127.0.0.1 -u maccms_restore -p maccms_restore < /safe-backups/maccms-demo.sql
  1. 将域名配置改成测试地址,暂停复制过来的采集任务、付款与通知出口,防止测试站执行正式业务。
  2. 检查内容数量、封面、详情、后台登录、模板及一条测试视频。数据库导入成功还不等于站点恢复成功。

恢复后的验收记录

恢复前从原站记录一组可对照的数据,不记录密码或会员个人资料。恢复站用独立域名或仅本地地址,禁止连接原站的付款、短信或通知出口。

检查项怎样核对通过标准
内容记录分类/内容总数,并选三条不同分类的内容数量一致,名称和分类相符
文件打开三张本地上传封面与一份自定义模板资源HTTP 正常,图片/样式对应原站
配置核对程序版本、PHP、数据库版本、表前缀与配套备份和测试库相符,没有仍指向原库
后台用管理员在恢复站登录,再退出能进入且退出有效;不要公开凭证
可写能力新增一条测试文章,刷新,再删除该测试文章测试库真实变化,原站没有变化
回退保存当前原站不动,记录切换失败时的文件/数据库恢复顺序能说明恢复哪一对备份,而不是只切回旧 PHP

例如「SQL 导入成功,但封面 404」应记为文件恢复未通过,不勾选整站恢复成功。MyISAM 等非事务表不能只靠 single-transaction 保证一致性;选择能冻结写入的一致性备份方法,再做上述核对。

以上是验收方法,不是本网站替你完成了恢复测试。每次搬家都要在自己的副本留下实际 URL、时间和结果;会员付款及第三方服务没有测试条件时明确写「未验证」。

搬家和升级的回退

保留原程序与数据库配套备份。切换失败时恢复这对备份及原 Web 配置;数据库结构已升级时,单独退回旧 PHP 文件可能仍然出错。域名切换前先在测试地址完成检查。

代码依据

本页目录