3.4 网站备份与恢复

一句话回答

网站备份的入口在网站列表 →【更多】→【备份列表】,一键生成备份文件;恢复就是选中记录点【恢复】。但备份要真正「能救命」,前提是三件事:关联了数据库、备份到了账号、定期做过恢复验证。

手动备份:三十秒一次

操作路径:网站列表 → 目标网站【更多】→【备份列表】,系统会在默认备份目录下生成网站的备份文件。

就这一步。但「点了备份 = 备份有效」是新手最大的误解。先问自己三个问题:

问题 为什么重要
网站关联数据库了吗? 没关联 = 只备份了文件,数据库里的文章数据没备上
备份文件在哪? 默认在本地备份目录,服务器挂了备份也跟着没
恢复过吗? 没验证过的备份,可能是坏的

关联数据库:整站备份的正确姿势

在 网站 → 配置 → 资源 中,可以把当前网站与一个数据库关联,备份网站时会同时备份关联的数据库。这是「整站备份」的关键设置。

网站类型 关联数据库
一键部署 WordPress 等 创建时通常已自动建库,确认关联状态
运行环境建的 PHP 站 建站时可选「创建数据库」,之后在「资源」里关联
纯静态站 不需要,没有数据库

官方一个重要警告:切换关联资源(关联数据库)会导致以前的备份无法恢复。切换前,先把当前备份下载留底。

恢复:一条记录回到过去

在备份列表中选择目标备份记录,点【恢复】按钮即可。恢复会覆盖网站的当前文件,操作前确认:

  1. 你选的记录是对的(看备份时间);
  2. 恢复不会自动停下来等你确认覆盖——谨慎但别犹豫,越早恢复损失越小;
  3. 恢复完刷新网站验证。

一个常被问的问题:网站被黑了 / 数据被误删了,能不能只恢复数据库?可以——数据库有独立的备份管理(第四章 4.1 节),网站备份和数据库备份是分开的两套机制,恢复时各回各家。

备份下载与导入:搬家两件套

功能 位置 用途
下载 备份列表 →【下载】 把备份存到本地电脑
导入 备份列表 →【上传备份】 用下载的备份文件在别处恢复

这是网站迁移的基础操作:旧服务器下载备份 → 新服务器导入备份 → 恢复。完整的迁移(含数据库和域名解析)在第四章 4.4 节细讲。

自动备份:交给计划任务

手动备份靠自觉,真正省心的是计划任务。入口:左侧菜单 计划任务,创建任务时选「备份网站」类型:

配置 建议
任务类型 备份网站(也支持备份应用、数据库、目录)
目标 选一个、多个或全部网站
执行周期 预设周期(每天/每周)或 Cron 表达式(如 0 0 * * *,保存前可预览最近执行时间)
保留份数 只留最近成功的 N 份,避免占满磁盘
备份账号 一定要选!放本地 = 服务器挂了备份也没了
压缩密码 加密备份;丢了密码无法恢复
排除规则 排除缓存目录等不需要的文件

两类备份的分工:

方式 场景
手动备份(网站列表里点) 改动前临时留个底
计划任务(自动备份) 日常固定的保护网

计划任务的功能很多(Shell 脚本、备份各种对象、切割日志、快照等),第五章 5.1 节会整体讲,这里先用上「备份网站」这一条。

恢复验证:备份的金标准

官方文档里有一句关键提醒:

任务执行成功只表示备份流程完成。生产环境应定期执行恢复验证,并确认应用版本、数据库版本、压缩密码和远端文件均可用。

翻译成人话:备份成功 ≠ 备份能用。建议的做法:

  1. 每月(或每次大改后)做一次恢复演练;
  2. 恢复到一个临时网站或测试目录,验证数据完整;
  3. 确认备份文件在备份账号里真的能下载、能解压(设了压缩密码的尤其要验证密码)。

这步省了,出事那天才会发现备份是坏的。 到那时哭都来不及。

出事时的恢复决策树

真出事了,先别慌,按这个顺序判断先做什么:

网站坏了 / 数据丢了
├─ 只是文件被改坏 → 网站列表 → 备份列表 → 选最近的记录 → 恢复
├─ 只是数据库出问题 → 数据库备份恢复(4.1 节)
├─ 整个站都没了 → 导入备份(下载的文件)→ 恢复
├─ 整个面板都出问题 → 系统快照恢复(2.2 节)
└─ 服务器都换了 → 快照迁移 / 备份导入到新服务器(4.4 节)

原则:从最小的恢复手段开始试——能用网站备份解决的,别动数据库;能恢复数据解决的,别恢复快照。恢复手段越「大」,影响面越大。

网站备份与系统快照的区别

这两个概念很容易混,放在一起看:

对比 网站备份 系统快照
管什么 一个网站(文件 + 可选数据库) 整个 1Panel(应用、数据、配置、二进制)
在哪做 网站列表 → 更多 → 备份列表 面板设置 → 快照
什么时候用 单站改动、单站恢复 面板整体故障、大版本升级前、机器迁移
存哪 本地目录 / 备份账号 只能存第三方备份账号
代价 小、快 大、全

日常保护 = 网站备份(细粒度)+ 定期快照(整体性),两者搭配着用。

常见问答

Q:备份占满磁盘了怎么办? A:计划任务里设保留份数,只留最近 N 份;定期去备份账号里看一眼实际占用。磁盘告警配置见第五章 5.2 节。

Q:能只恢复网站里的某个文件吗? A:网站备份是整站级别的恢复。需要单个文件时,可以把备份下载到本地,从压缩包里取出要的文件,手动传回网站目录(文件管理在第 5 章 5.1 节)。

Q:恢复后网站打不开? A:按 3.2 节的排错主线查:网站状态 → OpenResty → 运行环境 → 日志。常见原因是恢复的环境/应用版本和当前不一致,这时日志里会有明确报错。

Q:旧服务器的备份能拿到新服务器用吗? A:可以。备份下载 → 新服务器上传/导入备份 → 恢复。完整迁移流程(含数据库和域名解析)见 4.4 节。

一个备份清单:建站后照着填

最后一个可执行的收尾清单,建好一个站就过一遍:

□ 网站已关联数据库(配置 → 资源)
□ 手动做了一次备份,能下载
□ 创建了「备份网站」计划任务(每日/每周)
□ 计划任务选了第三方备份账号,不只是本地
□ 设了保留份数(如 7~30 份)
□ 记下压缩密码(如果设了)
□ 日历提醒:一个月后做一次恢复演练

前三条是「有备份」,后四条是「备份有用」。很多人停在第三条,然后某一天服务器出事,发现备份都在本地、份数三个月没清、密码也想不起来——那就等于没备份。

备份这件事的本质:它买的是「后悔的权利」。网站文件可以重新传,主题可以重新装,但用户数据、文章、订单记录没了就是没了。花十分钟把自动备份配好,是这一章里投入产出比最高的一件事。

网站备份的分层策略

给你一个可抄的作业,从小站到多站逐步升级:

阶段 策略
单站初期 每周一次计划任务备份网站 + 备份到本地磁盘
稍微重要 每日备份 + 挂第三方备份账号(OSS/网盘)+ 关联数据库
多站/生产 每日备份多目标 + 保留 7~30 份 + 每月恢复演练 + 系统快照

别忘了系统快照(面板设置 → 快照)是更上层的整体回滚手段——它备份整个 1Panel 的数据(2.2 节)。网站备份管「这一个站」,快照管「整个面板」。

备份文件里到底有什么

下载备份后解压,你会看到网站 backup 的是一个目录结构,核心是网站根目录文件(源码、上传的图片、模板)加上关联数据库的 dump 文件(如果设了关联)。知道这一点,恢复时报错就能对号入座:

现象 大概率原因
恢复后文件都在,但文章没了 备份时没关联数据库,或关联后又被切换
恢复报错「数据库版本不匹配」 新环境数据库版本和备份时不一致
解压要密码 创建计划任务时设了压缩密码

顺带一提:备份文件本身是压缩包,体积通常远小于网站实际占用——日志和缓存目录如果没排除,会把备份撑大。大站的备份突然变慢变胖,先检查排除规则。

本节要点

  • 手动备份:网站列表 → 更多 → 备份列表;恢复:选记录点【恢复】;
  • 在配置 → 资源里关联数据库,备份才会包含数据库(切换关联会让旧备份无法恢复);
  • 备份可下载、可导入,是网站迁移的基础(4.4 节);
  • 自动备份交给计划任务:选「备份网站」、设保留份数、备份账号必须选;
  • 备份成功 ≠ 能用:定期做恢复验证,确认版本、密码、远端文件都可用;
  • 分层策略:网站备份管一个站,系统快照管整个面板。

备份与恢复的官方说明,见《1Panel 官方文档:功能手册》中的「网站备份」与「计划任务」两节。

下一章:网站背后是数据库和容器——MySQL、Redis、Docker 的日常管理。