服务器维护

网站备份怎么做?备份内容、频率与恢复验证的完整方案

网站备份怎么做?备份内容、频率与恢复验证的完整方案

“我们有备份”,是我们接手网站时听到最多、也最不能直接相信的一句话。真到要恢复的时候,常见的情况是:备份只有数据库没有图片、备份放在同一台服务器上一起没了、备份文件三个月前就开始报错没人看、或者根本恢复不了。这篇文章讲一套中小企业网站可以直接落地的备份方案:备什么、多久备、放哪里、怎么验证。

一、网站备份要备什么

一个完整的网站备份至少包括四部分,缺一样就可能恢复不出来:

  • 网站文件:程序代码、模板主题、插件,以及用户上传的图片、附件、视频。上传目录往往是最大也最容易被漏掉的部分。
  • 数据库:文章、产品、用户、订单等所有动态内容都在数据库里。这是备份的核心。
  • 配置文件:数据库连接信息(如 WordPress 的 wp-config.php)、Web 服务配置(Nginx/Apache 站点配置)、伪静态规则、SSL 证书文件。
  • 环境信息:PHP 版本与扩展、数据库版本、定时任务、依赖的第三方服务配置。恢复到新服务器时靠这些还原环境。

二、多久备一次

取决于“丢一天数据能不能接受”。一般建议:

  • 数据库:每天至少一次全量备份;有在线交易或频繁更新的网站,增加每小时增量备份或开启数据库二进制日志。
  • 网站文件:每天一次增量备份(只备变化的文件),每周一次全量。
  • 重大变更前:升级程序、改服务器配置、迁移之前,手动做一次完整备份。

保留策略建议“7 天每日 + 4 周每周 + 3 个月每月”,既能回到最近几天,也能找回一个月前的状态,存储成本可控。

三、放在哪:一定要异地

备份放在网站服务器本机,等于没备份。服务器被黑、磁盘损坏、误操作删库时,备份会跟着一起消失。最少做到“3-2-1”原则的简化版:

  • 一份在本机(方便快速恢复)
  • 一份在异地:对象存储(阿里云 OSS、腾讯云 COS 等)或另一台服务器
  • 敏感数据加密后再上传,备份存储账号使用独立的、只有写入权限的密钥

四、怎么确认备份真的能用

这是最常被跳过的一步。三件事:

  1. 备份任务要有成功/失败通知:失败了当天就要知道,而不是三个月后发现全是 0 字节文件。
  2. 校验完整性:备份完成后检查文件大小、压缩包能否解压、数据库导出文件末尾是否完整。
  3. 定期恢复演练:每月至少一次,把备份恢复到测试环境,网站能打开、后台能登录、最近的数据都在,才算备份有效。

五、WordPress 网站的备份方案示例

以最常见的 WordPress 企业站为例,一套够用的方案:

  • 服务器上用 mysqldump 每天凌晨导出数据库并压缩,用 rsync 增量同步 wp-content 目录
  • 把当天的数据库备份和文件增量同步到对象存储,按保留策略自动清理旧备份
  • 备份脚本结束后发送通知(成功/失败、文件大小)
  • 每月在测试环境恢复一次,顺便验证程序升级

用宝塔面板的网站,也可以用面板自带的计划任务做数据库和目录备份并推送到云存储,但同样要检查通知和做恢复演练,不要只看“任务已创建”。

六、常见误区

  • 只备数据库不备上传目录,恢复后全站图片丢失
  • 云服务器的“快照”当唯一备份:快照方便但通常不长期保留,且和服务器绑在一个账号里
  • 备份文件明文放在公开可访问的目录(例如网站根目录下的 backup.zip),成了泄露源
  • 从未恢复过,第一次恢复就是事故当天

运维365 的网站维护托管把备份作为标配:每日数据库与文件备份、异地存储、成功失败通知、每月恢复演练。详见 网站维护服务

遇到类似问题,需要有人处理?

把网站、服务器或小程序的现状告诉我们,先评估再给方案,不解决不收费。

咨询工程师

留下评论

邮箱不会公开。技术问题也可以直接联系我们

电话咨询 咨询方案