1.3 网站分组、备份与迁移

一句话判断

备份是运维里唯一“平时嫌烦、出事救命”的事。1Panel 的网站备份用起来很简单,但要真做到“能恢复”,诀窍是:备完整(目录+数据库+配置)、定期演练恢复、迁移时分清“搬网站”和“搬数据”。

先把备份的边界说清楚

1Panel 的网站备份(网站列表【更多】→【备份列表】)生成的是什么?网站目录的压缩包。

这里有进阶用户必须知道的一点:网站数据不只在目录里。

数据在哪 备份网站目录能不能覆盖
网站代码、上传的图片 能,在网站目录里
网站配置(Nginx 配置文件) 能,在网站目录的配置文件里
数据库里的内容 不能,在数据库里
应用配置(如 WordPress 的 wp-config.php 里的库地址) 部分在目录里

所以只备份网站目录是不够的。1Panel 提供了一个机制来补这个缺口:关联资源。

关联资源:让备份一步到位

在网站配置的资源标签页,可以把当前网站和一个数据库关联起来。官方文档写得很明确:

将当前网站与某一个数据库进行关联,备份网站时将同时备份关联的数据库。

这是本节最重要的一条操作建议:

每个用数据库的网站,建完后第一件事就是去【资源】里关联数据库。

关联之后,备份网站 = 备份目录 + 备份数据库,恢复时也是一起恢复。不关联,你的备份就是“半个备份”。

官方也提示了一个坑:

切换其他数据库会导致以前的备份无法恢复。

原因也好理解:旧备份里的数据库内容是旧库的,新库结构或数据对不上。换库之前,先把当前备份下载存档。

备份的四种操作

操作 路径 什么时候用
创建备份 网站列表【更多】→【备份列表】 日常备份,生成在默认备份目录
恢复 备份列表中选目标记录,点【恢复】 出事了
下载 备份列表 → 下载 存到本地、跨服务器迁移
导入备份 上传备份文件 从别的机器恢复

下载 → 导入,这就是跨服务器迁移的官方路径。 不需要敲命令,不需要记目录路径。

备份策略:三种节奏配三种站点

备份不是“都每天备一次”那么简单,按站点价值配节奏才是进阶做法:

站点类型 建议节奏 理由
生产主站(电商、SaaS) 每天至少一次 + 变更前手动备 数据最值钱,丢一天都是事故
内容站(博客、官网) 每周或每两周一 内容更新频率低
测试/临时站 变更时备,或干脆设过期时间 价值低,别浪费空间

变更前备份是进阶习惯中的进阶:任何破坏性操作之前(升级应用、改配置、换库、删文件),先点一次备份。 它比定时备份更精准——备份的正是“出问题前那一刻”的状态。

1Panel 的计划任务可以配合做自动备份,具体的计划任务配置见第 5.1 节,这里先记住思路:自动备份 + 手动备份(变更前),两条腿走路。

恢复演练:这一步 90% 的人没做过

有备份 ≠ 能恢复。 恢复要验证两件事:

  1. 备份文件完整吗——压缩包会不会坏;
  2. 恢复流程我会走吗——真出事的时候是不是手忙脚乱。

建议的演练方式(低风险版):

  1. 找一个测试站点,或者克隆一个非生产环境;
  2. 在备份列表创建一个备份;
  3. 在网站上做点修改(比如改个首页标题);
  4. 从备份恢复;
  5. 确认标题变回来了——说明恢复真的生效了。

每季度演练一次。 这件事的回报率极高:真出事的时候,别人在查文档,你已经恢复了。

迁移实战:三种场景三种做法

场景一:同一台 1Panel 内换分组/换域名

不需要迁移,用网站配置的其他标签页:可以更改主域名、切换分组、更新备注。

注意:改主域名是高风险操作——DNS 没切过来就改,站点立刻 404。顺序是:先在新域名解析生效,再在面板改绑定。

场景二:从一台 1Panel 迁到另一台

走官方的“下载 + 导入”路径:

  1. 源服务器:备份列表创建备份 → 下载到本地;
  2. 目标服务器:创建一个同类型的空网站(代号尽量一致,省得改路径);
  3. 目标服务器:上传备份文件(导入备份);
  4. 恢复;
  5. 重建外部依赖:数据库、运行环境、应用、证书都要在目标机器上重新准备;
  6. 验证:本地 hosts 指向新机器,测一遍再切 DNS。

这里有个真实的大坑:导入备份恢复的是网站文件,不会帮你把运行环境、数据库、应用一并搬过去。 迁移的本质是“在新机器上重建环境,再把数据灌进去”。

检查清单:

项目 迁移后要不要重建
网站代码、上传文件 随备份恢复
Nginx 站点配置 随备份恢复
数据库 需手动迁移或随关联备份恢复
PHP / Node 等运行环境 需在目标机重新安装
应用商店应用 需在目标机重新安装
SSL 证书 需重新申请或导出导入
分组 需在目标机重建

场景三:1Panel v1 迁到 v2 / 社区版升专业版

这是更底层的迁移,1Panel 官方提供了专门的迁移文档(installation/master-migrate、installation/v1-migrate、installation/migrate-to-enterprise)。这类迁移务必按官方文档走,别用“复制目录”的野路子——数据库结构、配置格式都可能不同。

一句话原则:版本迁移看官方文档,站点迁移用备份导入。

备份文件的两种用法

下载下来的备份文件,除了迁移还有两个实用场景:

场景一:本地开发环境同步。 把生产备份下载、导入到本地的 1Panel,立刻得到一份和生产一致的数据。排查“本地正常、生产报错”的问题时,这是唯一可靠的办法。

场景二:应急回滚。 做大改动前下载一份备份到本地。万一改完出问题、连面板都进不去,至少文件还在,能手动解压恢复代码。

有个细节值得强调:导入备份时选的是“网站备份文件”,不是任意压缩包。 格式必须是 1Panel 备份生成的格式,手动打的 zip 是导不进去的。

备份保管的三个建议

第一,别把备份只留在服务器上。 服务器挂了,同机的备份一起挂。定期下载关键备份到本地或对象存储。

第二,备份保留要有周期。 全留着硬盘迟早满。建议“近期备份多留、远期备份少留”,比如保留最近 7 个每日备份 + 最近 4 个每周备份。

第三,删站前单独备份一次。 下载到本地再删。删除网站时勾选“删除备份”是不可逆的,官方明确警告可能造成数据丢失。

网站分组:备份边界的天然切分

把 1.1 节讲的分组和备份放在一起看,你会发现一个很顺的设计:

分组 备份节奏 保留策略
prod 客户站 每日 + 变更前 长期保留
internal 内部工具 每周 中期保留
staging 测试 随意 短期清理
tmp 临时站 不备,直接设过期时间 到期自动停

分组 = 备份策略单元,这样管理起来心智负担最小。这也是为什么建议“一个分组对齐一套备份策略”。

一个完整的迁移检查清单

照着走,基本不会漏:

迁移前(源服务器)
  □ 创建网站备份(确认已关联数据库)
  □ 下载备份到本地
  □ 记录:运行环境版本、PHP 版本、应用列表
  □ 记录:域名清单、证书状态、DNS 记录
  □ 通知用户/客户停机窗口

迁移中(目标服务器)
  □ 安装相同版本的 OpenResty
  □ 安装运行环境和应用
  □ 创建同类型空网站,代号一致
  □ 导入备份并恢复
  □ 检查关联数据库是否恢复成功

迁移后(验证)
  □ 本地 hosts 改解析,完整走一遍业务
  □ 确认首页、登录、上传、支付等关键流程
  □ 确认 404 页面、HTTPS 证书正常
  □ 切换 DNS
  □ 观察 48 小时错误日志
  □ 保留源服务器数据至少 7 天再清理

最后一行值得强调:源服务器别急着清理。迁移后 48 小时内很可能发现某个角落没搬干净,留个退路。

本节要点

  • 只备网站目录不够,一定要在【资源】里关联数据库;
  • 备份节奏按站点价值定,变更前手动备是回报最高的习惯;
  • 下载 + 导入是官方迁移路径,但运行环境、应用、证书要手动重建;
  • 每季度做一次恢复演练,确认备份真能用;
  • 版本级迁移看官方文档,别用复制目录的野路子。

更完整的参数说明可以对照 《1Panel 官方文档:功能手册》 的“网站备份”与“安装迁移”章节。

下一节:网站都保护好了,最后一块拼图是安全——WAF 网页防火墙实战。