
01 先做一件事:把 3 天前的备份还原一次
打开备份目录,挑一份 3 天前的包,还原到一个空目录里。
不用改配置,就看它能不能打开。
这一步 1 个小时能做完,但它能提前发现一件很贵的事。
我们服务过的外贸站里,有备份的占多数,真动手还原过的不到三成。剩下那些站没人知道备份能不能用,包括管理员自己。
对谷歌来说,这件事的后果很直接:站被挂了马而你还原不了,收录里就一直留着那一版。
这一步不考验技术,考验记性。
02 为什么「我们每天都备份」不算数
「每天备份」是动作,不是结果。
常见的情况是备份文件和网站放在同一台服务器上。服务器被加密,备份跟着一起没了。攻击者做的头一件事,就是把能回滚的东西一起锁上。
另一种情况更安静:备份脚本跑了 2 年,但数据库那一项早就因为密码改过而失败。日志还在写,文件没更新。
还有一种是把备份权限和网站权限合成一个账号。写权限被拿走,备份文件也能被删。分开建两个账号、各给各的权限,这一层就补上了。
所以判断备份有没有用,看的不是跑没跑,是打开之后里面有没有内容。
这一点和谷歌判断一个页面值不值得排,逻辑是一样的:它不看你有没有提交,看你那一页现在是不是真有东西。
03 判据:备份要同时满足三个条件
三个条件缺一个,这条备份线就是断的。
- 其中一份不和网站放在同一台服务器上,对象存储或者公司内网的机器都行
- 至少往前留 4 周,被入侵之后你未必当天就发现
- 每季度真的还原一次到测试目录,而不是只看到文件大小正常
这三条都不花钱,花的是头一回搭建的 2 到 3 个小时。
备份的价值不在生成的那一刻,在还原成功的那一刻。
补一句:条件三最容易被跳过。文件大小正常、时间戳是新的,这两件事只能说明脚本跑过了,说明不了内容能读出来。
04 备份放哪儿:同机不算备份
放的地方要满足一个要求:网站服务器被拿下了,它还在。
常见做法是把每日备份推到对象存储,保留 30 天,每个月的 1 号留一份归档。一年的传输量在几十个 G,成本在 20 元以内。
用宝塔面板或者 cPanel,定时任务里就有这个选项,不用写脚本。
异地那一份不用很频繁。每日包留在对象存储,再每季度拷一份到公司内网机器上,两边同时出问题的概率就低了。
也有站把备份留在同机、每周手动下载一份到本机硬盘。这个做法效果不差,但硬盘要放在办公室以外的地方。
真出事的时候,服务器上的页面会全部打不开。这时候谷歌看到的是几十个 404,掉收录比丢数据更难补。
05 还原演练怎么做:还原到测试目录
演练的目标不是恢复线上,是确认文件能读。
步骤固定下来就三步:新建一个空目录;把备份包解压进去;打开首页文件,确认数据库配置在里面、图片目录不是空的。
做到这一步,已经覆盖八成的故障。
越做越熟。
更进一步是在测试域名上跑一次真安装,用 Chrome 打开看页面有没有出来。顺手用 PageSpeed Insights 量一下旧版本的速度,还能看出服务器有没有变慢。
演练记录要写下来:日期、还原的是哪一天的包、结果。下一次真出事的时候,这份记录就是你的时间表。
页面能在测试域名上正常打开,谷歌再抓的时候才拿得到干净版本。
06 我们复盘过的站:备份失效的三种形态
说三个具体的样子。
头一种是备份只含网站目录,不含数据库,尤其常见于把数据库单独部署的站。还原之后页面打开了,文章和产品全没了。
第二种是备份文件加了密,但没人记得那串口令。买主机时附带的备份功能常有这个设定,过 2 年就翻不到密码。
第三种是备份频率太稀。每周 1 次,出事那天正好是备份之后的第 6 天,等于丢掉一整周的询盘。做零售的站这一周可能损失几十个订单。
还有一种少见但致命的:备份里含数据库,里面装的却是 2 年前的旧库。原因是迁移时脚本指向没改回来。这种要打开表看一眼行数才发现。
这三种在 Google Analytics 4 上看不出任何异常,只有打开备份包才看得见。
07 顺序:被黑之后先断后门,再还原
顺序反了会二次被黑。
这三步别压缩成一步。
头一步是断掉入口:改掉后台、数据库、FTP 的所有密码,删掉可疑的管理员账号,顺便看一眼定时任务里有没有陌生脚本。
第二步才还原。还原时选入侵发生之前的那一份,不是最近的那一份。判断入侵时间,可以翻后台日志里异常登录的日期。
第三步是收尾检查:用谷歌搜一下自己的域名,看有没有被挂上奇怪的内容;再看 Search Console 有没有安全问题的提示。
有客户把这三步做反过,还原之后第 3 天又被挂了一次,白折腾一轮。
08 哪几类站不用做还原演练
也说一句相反的。
只有 1 到 2 个静态页面的展示站,内容都在版本库里,重建比演练还快,不用花这个时间。
用 SaaS 建站平台的站,文件和数据库由平台管,你只能导出内容。这时把导出的数据定期下载一份就够。
上线不到 1 个月、还没有询盘数据的新站,可以先按半年做一次。
反过来讲,只要站上有询盘表单,就不能省这个环节。表单提交的数据存在数据库里,数据库丢了就是丢客户,事后补不回来。
这几类先放过,精力留给有询盘的站。谷歌那头的 Googlebot 也一样,它把抓取预算优先给一直在更新的页面,不会均分到每一个地址。
09 两个容易漏的地方
头一个,后台管理员账号留几个人。我们见过一个站挂着 6 个管理员,其中 3 个是离职员工,账号没删、密码没改,等于留了 3 把钥匙在门外。留 2 个能用的人就够,其余停用。
第二个,登录失败次数要限制。后台没有锁定机制的时候,脚本可以一直试。设成连续失败 5 次就锁住,成本立刻抬上去。这一项在 WordPress 里一个插件就能解决。
顺带一项,数据库和 FTP 别用同一个密码。一处泄露,两处一起失守。
还有一处,域名和主机的到期时间写进日历。到期忘了续费,站会直接停掉,这属于最容易避免也最容易忘的一类中断。
这几处都不难,难的是头一回就写进流程。

常见问题
Q1 备份要保留多久
A 日常包留 4 周,月度包留 1 年。被入侵之后你未必当天发现,入侵者也可能潜伏几个月才动手,只留 7 天等于没有。
Q2 云主机自带的快照算备份吗
A 算一半。快照和服务器在同一个账号下,账号被拿下就一起没了。它能解决误删和升级失败,解决不了入侵,所以要另存一份在外面。
Q3 还原之后谷歌会不会当成重复内容
A 不会。还原是把线上内容换回旧版,地址没变。但被黑那几天谷歌可能已经收录了挂马页面,还原之后去 Search Console 提交一次重新抓取,让它尽快看到干净的版本。
Q4 没有技术团队怎么做这件事
A 把三步交给服务商,但要求他们给出演练记录。你能接受的交付物是一份写清日期的还原报告,不是一句「备份正常」。这和谷歌看站点是一个道理,它看的是能验证的事实,不是你的描述。
11 关于作者与参考来源
张凯文,山东支点网络科技有限公司,长期做外贸网站建设与谷歌 SEO。
官网建设上有拿不准的地方,可以在站内联系我们。
Google Search Central(developers.google.com/search/docs)
PageSpeed Insights(pagespeed.web.dev)
本文关于备份与还原演练的判断口径,来自我方在外贸客户站点运维与安全处置场景中的实际处理记录。

