3.4 网站备份与恢复
一句话回答
网站备份的入口在网站列表 →【更多】→【备份列表】,一键生成备份文件;恢复就是选中记录点【恢复】。但备份要真正「能救命」,前提是三件事:关联了数据库、备份到了账号、定期做过恢复验证。
手动备份:三十秒一次
操作路径:网站列表 → 目标网站【更多】→【备份列表】,系统会在默认备份目录下生成网站的备份文件。
就这一步。但「点了备份 = 备份有效」是新手最大的误解。先问自己三个问题:
| 问题 | 为什么重要 |
|---|---|
| 网站关联数据库了吗? | 没关联 = 只备份了文件,数据库里的文章数据没备上 |
| 备份文件在哪? | 默认在本地备份目录,服务器挂了备份也跟着没 |
| 恢复过吗? | 没验证过的备份,可能是坏的 |
关联数据库:整站备份的正确姿势
在 网站 → 配置 → 资源 中,可以把当前网站与一个数据库关联,备份网站时会同时备份关联的数据库。这是「整站备份」的关键设置。
| 网站类型 | 关联数据库 |
|---|---|
| 一键部署 WordPress 等 | 创建时通常已自动建库,确认关联状态 |
| 运行环境建的 PHP 站 | 建站时可选「创建数据库」,之后在「资源」里关联 |
| 纯静态站 | 不需要,没有数据库 |
官方一个重要警告:切换关联资源(关联数据库)会导致以前的备份无法恢复。切换前,先把当前备份下载留底。
恢复:一条记录回到过去
在备份列表中选择目标备份记录,点【恢复】按钮即可。恢复会覆盖网站的当前文件,操作前确认:
- 你选的记录是对的(看备份时间);
- 恢复不会自动停下来等你确认覆盖——谨慎但别犹豫,越早恢复损失越小;
- 恢复完刷新网站验证。
一个常被问的问题:网站被黑了 / 数据被误删了,能不能只恢复数据库?可以——数据库有独立的备份管理(第四章 4.1 节),网站备份和数据库备份是分开的两套机制,恢复时各回各家。
备份下载与导入:搬家两件套
| 功能 | 位置 | 用途 |
|---|---|---|
| 下载 | 备份列表 →【下载】 | 把备份存到本地电脑 |
| 导入 | 备份列表 →【上传备份】 | 用下载的备份文件在别处恢复 |
这是网站迁移的基础操作:旧服务器下载备份 → 新服务器导入备份 → 恢复。完整的迁移(含数据库和域名解析)在第四章 4.4 节细讲。
自动备份:交给计划任务
手动备份靠自觉,真正省心的是计划任务。入口:左侧菜单 计划任务,创建任务时选「备份网站」类型:
| 配置 | 建议 |
|---|---|
| 任务类型 | 备份网站(也支持备份应用、数据库、目录) |
| 目标 | 选一个、多个或全部网站 |
| 执行周期 | 预设周期(每天/每周)或 Cron 表达式(如 0 0 * * *,保存前可预览最近执行时间) |
| 保留份数 | 只留最近成功的 N 份,避免占满磁盘 |
| 备份账号 | 一定要选!放本地 = 服务器挂了备份也没了 |
| 压缩密码 | 加密备份;丢了密码无法恢复 |
| 排除规则 | 排除缓存目录等不需要的文件 |
两类备份的分工:
| 方式 | 场景 |
|---|---|
| 手动备份(网站列表里点) | 改动前临时留个底 |
| 计划任务(自动备份) | 日常固定的保护网 |
计划任务的功能很多(Shell 脚本、备份各种对象、切割日志、快照等),第五章 5.1 节会整体讲,这里先用上「备份网站」这一条。
恢复验证:备份的金标准
官方文档里有一句关键提醒:
任务执行成功只表示备份流程完成。生产环境应定期执行恢复验证,并确认应用版本、数据库版本、压缩密码和远端文件均可用。
翻译成人话:备份成功 ≠ 备份能用。建议的做法:
- 每月(或每次大改后)做一次恢复演练;
- 恢复到一个临时网站或测试目录,验证数据完整;
- 确认备份文件在备份账号里真的能下载、能解压(设了压缩密码的尤其要验证密码)。
这步省了,出事那天才会发现备份是坏的。 到那时哭都来不及。
出事时的恢复决策树
真出事了,先别慌,按这个顺序判断先做什么:
网站坏了 / 数据丢了
├─ 只是文件被改坏 → 网站列表 → 备份列表 → 选最近的记录 → 恢复
├─ 只是数据库出问题 → 数据库备份恢复(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 的日常管理。
