备份這件事,做的时候没人注意,出事的时候才知道有没有用。很多站点的备份只停留在“每周導一次資料库”,真需要還原时才發現程序文件、上传目錄、伪静態規則、證书私钥都對不上,站点還是起不来。下面按“备份什么—怎么存—怎么演练”的顺序理一遍,方便對照自查。
一、先列清楚备份清單
- 資料库:文章、评论、用戶、配置表等。導出时注意带上字符集和建表语句,避免還原後出現乱碼。
- 程序與主题:核心程序、模板、插件以及二次開發過的文件。這些文件一旦被改坏,光有資料库也恢复不了。
- 上传附件:图片、视频、文档等。附件目錄往往比資料库大得多,也最容易在备份时被漏掉。
- 站点配置:伪静態規則、Web 服務器配置、定时任務、證书文件,以及 CDN 與防護策略的導出记錄。
把這四類寫成一張清單,每次备份對着勾一遍,比凭印象操作更靠谱。
二、频率、保留與存放位置
备份频率要和更新频率匹配:内容一天更新多次的站点,資料库至少每天一次;更新較少的站点,可以按周做全量、按天做增量。保留策略上,建议同时留“最近几天”的版本和“每月一份”的版本,前者應對誤操作,後者應對潜伏較久的問题。
- 不要只留一份,也不必把所有歷史版本都堆着占用磁盘。
- 备份文件不要放在網站根目錄下,更不要用容易猜到的文件名。
- 尽量异地存放:對象存储、另一台服務器、本地移動硬盘都可以,關键是別和站点同机同盘。
备份和站点放在同一台服務器、同一個帳號下,等于把鸡蛋放進同一個篮子——服務器一挂,备份一起没了。
三、做一次真正的恢复演练
备份文件能不能用,只有還原一次才知道。建议在临时环境上完整走一遍流程:
- 准备一台干净的环境,程序與資料库版本尽量和线上保持一致。
- 導入資料库,检查表數量、字符集以及關键表的資料條數是否對得上。
- 還原程序、模板與上传附件,確認目錄權限設定正确。
- 訪問首頁、栏目頁、詳情頁,看响應碼是否正常、頁面是否完整。
- 登入後台,測試發布、修改、上传各一次,確認寫入功能正常。
- 记錄整個恢复過程用了多久、卡在哪一步,這份记錄往往比备份文件本身更有參考價值。
四、几個常见的备份失效原因
- 只备份資料库,漏掉附件和模板,恢复後頁面缺图缺样式。
- 备份任務静默失敗,几個月没人看日誌,還以為一直在正常执行。
- 备份文件權限設定過宽,可以被外部直接下载。
- 增量包與全量包混在一起,恢复时不知道该從哪一份開始。
- 备份脚本依赖的帳號密碼早已變更,任務其實早就不再執行。
五、把這件事寫進日常
比較省心的做法是:让备份任務自動执行並寫日誌,失敗时發出通知;每月挑一個固定時間做一次抽样恢复;每次改動服務器配置或程序之前,先手動留一份快照。這样一来,即使真遇到誤删、入侵或磁盘故障,也能把站点拉回可用的狀態,而不是從零開始拼凑。