说实话,玩Z-Blog这么多年,我见过太多兄弟栽在备份还原这上面,平时不备份,一更新插件就白屏;要么备份了,结果还原的时候数据库乱码,整个站直接凉凉,今天我不整那些虚头巴脑的理论,就说说我自己真实踩过的坑,还有现在一直在用的土办法加好插件,保证你看了能省一半的时间,少心疼几晚上。
第一个坑:备份文件看着全,其实少了个魂
以前我傻乎乎地去主机后台直接打包wwwroot目录,以为把文件都拉下来就完事了,结果有一次服务器崩了,我潇洒地传回去,打开网站——首页正常,点进文章,全部报错,折腾半天才发现,Z-Blog的数据库是独立的,你光备份文件不备份数据库,等于把人的身体留下了,魂丢了,尤其是Z-Blog后台那些文章、评论、配置,全在MySQL或者SQLite里,文件包里只有主题、插件和上传的图片。

Z-Blog备份还原别踩坑!十年老站长吐血整理,这样搞才稳
后来我学乖了,每次备份必须两样东西:一份文件压缩包,一份数据库导出文件,Z-Blog自带的后台备份功能其实能用,但它的数据库备份有时候会超时,特别是文章多的时候,导到一半直接504,我建议你直接用phpMyAdmin(如果是虚拟主机)或者宝塔面板的“数据库备份”功能,点一下就能导出 .sql 文件,比后台那个稳多了。
第二个坑:还原时编码乱成麻
有一次我高高兴兴换新主机,上传文件,导入.sql,打开网站——满屏问号,中文全成了“???”,我当时心里一万头草泥马跑过,后来查了一圈,原来是新主机的数据库字符集跟原来不一样,Z-Blog默认是utf8mb4,但有些老主机默认是latin1,你导入的时候不选对字符集,必乱。
解决方案很简单:导入.sql文件之前,用记事本或者Notepad++打开那个sql文件,看开头有没有 SET NAMES utf8mb4,没有就手动加上去,或者更好的是,在phpMyAdmin里,导入前先把数据库排序规则改成 utf8mb4_general_ci,再导入就不会错了,宝塔面板的话,新建数据库时直接选utf8mb4,导出时也选utf8mb4,基本能避开这个坑。
第三个坑:还原后插件主题全失效
你以为文件传回去,数据库导进去就万事大吉了?天真,Z-Blog的插件和主题很多依赖缓存,你还原之后如果不重新编译缓存,后台都进不去,一打开就白屏报错,我上次就是还原完忘了删掉数据目录里的 compiled 文件夹,结果前台正常,后台登录就“模板不存在”。
正确操作:还原完文件,先别急着打开网站,去 zb_users/cache/ 和 zb_users/data/ 目录下,把带缓存的文件删掉(compiled 子目录里的所有 .php 文件),然后重新后台登录,Z-Blog会自动重建编译缓存,这一步至少帮你省半小时排查时间。
第四个坑:备份文件太大传不上去
有次站里图片多,整个备份包1.2G,虚拟主机后台的上传又限制50M,我傻眼了,后来我学精了,文件备份不用整包拖,直接用宝塔压缩成zip,分卷上传?太麻烦,其实有个好办法——用Z-Blog的插件“ZB备份大师”,这个插件能直接备份数据库,还能把附件目录单独打包,甚至支持定时备份到远程(比如FTP或者百度网盘),但要注意免费版有大小限制,更推荐的做法是:用宝塔面板计划任务,每天晚上自动打包网站目录和数据库,只保留最近7天的备份,传到另一台服务器或者云存储上,手动还原时,用FTP软件(比如FileZilla)支持断点续传,比网页上传靠谱得多。
推荐配置:真别裸奔
如果你用WordPress,肯定知道能装各种备份插件,Z-Blog这边其实也有几个好用的,我试过一圈,最推荐下面这个组合:
- 后台自带“备份恢复” —— 适合小站,勤快点手动导数据库,文件用FTP拉下来。
- 插件“UUW Backups” —— 支持数据库和文件分离备份,还能设置排除目录(比如缓存文件夹),速度飞快,我用了两年没翻车。
- 宝塔面板计划任务 —— 如果是VPS或者独服,必开!每天凌晨3点自动备份网站目录 + 数据库,推送到阿里云OSS或者腾讯云COS,成本一天几分钱,但比你的命还值钱。
长期维护建议:别等出事才想起来
最后说几句掏心窝子的,备份不是装个插件就完了,你得定期演练还原,我每三个月就找一天,把备份拉到本地虚拟机或者新服务器上恢复一次,确保流程顺手,别嫌麻烦,等你遇到“服务器被删库”或者“手滑覆盖了文件”,你就知道演练的价值了。
还有,数据库导出后,用文本编辑器打开随便瞅一眼,确认里面有内容,不是个空文件,我就遇到过备份计划任务看起来成功,结果发现数据库服务没起来,导出的是0字节文件,相当于白忙活半天,建议你在宝塔里设置备份成功的通知,没收到通知就是出问题了。
如果你的站用了HTTPS,还原后记得检查后台的“站点域名”设置,不改的话很恼火——所有资源都会自动跳到老的域名,打开全是404,这个坑不大,但真遇到了能急出汗。
Z-Blog备份还原,核心就三句话:文件+数据库分开备,编码字符集要看清,缓存目录主动清,按照我这套土办法,加上一个靠谱的定时任务,你以后不管换主机、搬机房,还是手贱删了数据,都能像我一样,泡杯茶,十分钟恢复如初,别再等哪天网站打不开,才捶胸顿足说“卧槽,又有备份了”,不是——是“又没备份”了。
发表评论