站点维护
备份、恢复与迁移
备份 MacCMS 数据库、上传文件、模板和配置,在独立测试站恢复并验证,再进行搬家或版本升级。
MacCMS V10 · 更新于 · MacCMS Club 编辑部 · 版本与验证范围
一个可恢复的备份必须同时包含数据库与文件。只下载 template 或只导出 SQL,都不能完整恢复站点。
需要保存什么
| 内容 | 位置/范围 | 原因 |
|---|---|---|
| 数据库 | 完整站点数据库 | 内容、分类、会员、订单等 |
| 上传文件 | upload | 本地封面与附件 |
| 模板 | template | 自定义布局与资源 |
| 程序及插件 | 程序完整副本、addons | 与备份数据库匹配的版本 |
| 配置 | application/database.php、application/extra、application/route.php | 数据连接、播放器、站点与路由配置 |
| Web 设置 | 域名、PHP 版本、伪静态、定时任务 | 文件迁移不会自动迁移这些设置 |
配置可能含密钥,备份保存在站点根目录之外,不放到能通过 URL 下载的位置。
面板备份路线
- 在「数据库」找到此站数据库,执行备份/导出,下载 SQL。
- 在「文件」将程序目录压缩,保留上传、模板与配置;缓存可以不带。
- 用同一日期命名文件和 SQL,记录程序版本、PHP 版本及备份时间。
- 重要更新前暂停写入或进入维护窗口,避免文件与数据库来自明显不同时间点。
命令行导出示例
下面是 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 适用于事务表;存在非事务表时需要维护窗口或数据库级一致性备份。
在副本恢复一次
- 建立新的空数据库和测试站点;测试时不要覆盖原库。
- 解压同一份程序文件,在 application/database.php 改为测试库连接。
- 用面板导入 SQL,或使用下面命令。
mysql -h 127.0.0.1 -u maccms_restore -p maccms_restore < /safe-backups/maccms-demo.sql- 将域名配置改成测试地址,暂停复制过来的采集任务、付款与通知出口,防止测试站执行正式业务。
- 检查内容数量、封面、详情、后台登录、模板及一条测试视频。数据库导入成功还不等于站点恢复成功。
搬家和升级的回退
保留原程序与数据库配套备份。切换失败时恢复这对备份及原 Web 配置;数据库结构已升级时,单独退回旧 PHP 文件可能仍然出错。域名切换前先在测试地址完成检查。