备份这件事,做的时候没人注意,出事的时候才知道有没有用。很多站点的备份只停留在“每周导一次数据库”,真需要还原时才发现程序文件、上传目录、伪静态规则、证书私钥都对不上,站点还是起不来。下面按“备份什么—怎么存—怎么演练”的顺序理一遍,方便对照自查。
一、先列清楚备份清单
- 数据库:文章、评论、用户、配置表等。导出时注意带上字符集和建表语句,避免还原后出现乱码。
- 程序与主题:核心程序、模板、插件以及二次开发过的文件。这些文件一旦被改坏,光有数据库也恢复不了。
- 上传附件:图片、视频、文档等。附件目录往往比数据库大得多,也最容易在备份时被漏掉。
- 站点配置:伪静态规则、Web 服务器配置、定时任务、证书文件,以及 CDN 与防护策略的导出记录。
把这四类写成一张清单,每次备份对着勾一遍,比凭印象操作更靠谱。
二、频率、保留与存放位置
备份频率要和更新频率匹配:内容一天更新多次的站点,数据库至少每天一次;更新较少的站点,可以按周做全量、按天做增量。保留策略上,建议同时留“最近几天”的版本和“每月一份”的版本,前者应对误操作,后者应对潜伏较久的问题。
- 不要只留一份,也不必把所有历史版本都堆着占用磁盘。
- 备份文件不要放在网站根目录下,更不要用容易猜到的文件名。
- 尽量异地存放:对象存储、另一台服务器、本地移动硬盘都可以,关键是别和站点同机同盘。
备份和站点放在同一台服务器、同一个账号下,等于把鸡蛋放进同一个篮子——服务器一挂,备份一起没了。
三、做一次真正的恢复演练
备份文件能不能用,只有还原一次才知道。建议在临时环境上完整走一遍流程:
- 准备一台干净的环境,程序与数据库版本尽量和线上保持一致。
- 导入数据库,检查表数量、字符集以及关键表的数据条数是否对得上。
- 还原程序、模板与上传附件,确认目录权限设置正确。
- 访问首页、栏目页、详情页,看响应码是否正常、页面是否完整。
- 登录后台,测试发布、修改、上传各一次,确认写入功能正常。
- 记录整个恢复过程用了多久、卡在哪一步,这份记录往往比备份文件本身更有参考价值。
四、几个常见的备份失效原因
- 只备份数据库,漏掉附件和模板,恢复后页面缺图缺样式。
- 备份任务静默失败,几个月没人看日志,还以为一直在正常执行。
- 备份文件权限设置过宽,可以被外部直接下载。
- 增量包与全量包混在一起,恢复时不知道该从哪一份开始。
- 备份脚本依赖的账号密码早已变更,任务其实早就不再运行。
五、把这件事写进日常
比较省心的做法是:让备份任务自动执行并写日志,失败时发出通知;每月挑一个固定时间做一次抽样恢复;每次改动服务器配置或程序之前,先手动留一份快照。这样一来,即使真遇到误删、入侵或磁盘故障,也能把站点拉回可用的状态,而不是从零开始拼凑。