宝塔一键迁移不支持断点续传,中断后需人工定位并手动补全;其线性流程无checkpoint机制,易因网络抖动、API超时(默认30秒)、大SQL文件卡住或服务重启而失败。
宝塔一键迁移本身不支持断点续传,所谓“开启断点续传功能”是误解——迁移中断后必须人工干预,不能自动从中断处继续。
为什么迁移会中断且无法自动续传
宝塔的「一键迁移」插件底层是同步拉取+解压+导入的线性流程,没有 checkpoint 机制。一旦网络抖动、SSH 超时、磁盘满或目标服务器 API 响应超时(比如
),整个任务就失败,不会记录已传输文件列表或数据库导入进度。
迁移过程依赖源站 API 持续响应,而宝塔 API 默认超时为 30 秒,大站点(尤其含 GB 级附件)极易触发超时
插件未对 SQL 导入做分块处理,单个超大
文件导入卡住时,整个迁移流程挂死
目标服务器若在迁移中重启 Nginx/MySQL,会导致后续步骤连接拒绝,但插件不重试也不回滚
实际可行的“类断点续传”操作路径
不是等它自动续,而是快速定位断在哪、手动补哪、再跳过已成功部分重新触发。
查中断位置:登录目标服务器,看
目录下是否有残留临时文件;再看宝塔后台「网站」列表里是否已出现部分站点(说明文件同步成功但数据库没导入)
若网站文件已同步但数据库报
:直接用 SSH 手动导入 SQL:
-p
若只同步了部分网站:进源站宝塔 → 「一键迁移」→ 「迁出数据」→ 取消勾选已成功的站点,仅保留失败项再推一次
避免重复建库:目标站导入前先确认库是否存在,用
判断,存在就跳过建库步骤
真正能降低中断概率的关键配置
与其指望续传,不如让首次迁移更稳。这些设置比“找续传开关”管用十倍:
源站执行
,把 API 超时从默认 30 秒提到 300 秒(需重启面板生效)
目标站提前调大 PHP 上传限制:宝塔 → 「软件商店」→ PHP 设置 → 把
和
都设为
关闭源站所有计划任务(尤其是备份任务),防止迁移时磁盘 IO 冲突导致超时
用
包裹迁移操作,即使本地网络断开,后台仍在跑,避免人为误关终端
最常被忽略的是:迁移中途修改任何一方的防火墙规则、Nginx 配置或 MySQL 绑定地址,都会让正在传输的连接瞬间失效,且插件不会提示具体原因——它只会显示“连接服务器失败”。盯住两边的
和
,比反复点“开始迁移”有用得多。
curl: (56) Recv failure: Connection reset by peer.sql/www/backup/migrate_*Error establishing a database connectionmysql -udb_userdb_passdb_namemysql -e "SHOW DATABASES LIKE 'xxx';"echo 300 > /www/server/panel/data/request_timeout.plupload_max_filesizepost_max_size2048Mscreen -S migrate/var/log/messages/www/wwwlogs/panel.log