BTMigrate是国际宝塔aaPanel的一款新旧服务器网站搬家插件&服务器迁移插件,专为aaPanel环境设计(aaPanel跟宝塔同源,理论上支持宝塔),它能够无缝地将网站、数据库和FTP账户从一台服务器迁移到另一台,通过创新的分块传输、智能覆盖合并和深度API集成,解决了传统迁移工具在处理大文件和网络不稳定时的各种限制。

BTMigrate是一款功能强大的aaPanel第三方扩展,专门用于在不同服务器之间迁移完整的aaPanel运行环境。与aaPanel默认迁移工具不同,它在处理大规模数据迁移时表现出更高的稳定性和可靠性,特别适合需要频繁进行服务器迁移、数据同步或环境复制的运维场景。
核心功能与亮点 1. 智能覆盖与合并这是插件最突出的功能之一。当目标服务器已存在同名网站或数据库时,传统迁移工具通常会停止运行并报错。而BTMigrate提供了强制覆盖/合并选项:
- 智能文件合并:将源服务器文件与目标服务器现有文件智能合并
- 数据库表覆盖:自动覆盖同名数据库表,保持数据一致性
- 迁移流程不中断:无需手动清理目标环境,迁移过程一气呵成
针对网络不稳定和大文件传输的痛点,插件采用创新的分块传输机制:
- 2MB数据块分割:将大文件切割成2MB的小块逐一上传
- 防止PHP超时:避免因执行时间过长导致的PHP进程中断
- 绕过Nginx文件大小限制:不再受服务器配置的文件上传大小限制
- 断点续传能力:网络中断后可从断点继续传输
插件内置了专门的后台跟踪系统,提供透明可控的迁移体验:
- 实时进度条:通过speed.json文件跟踪进度,在前端显示直观的完成百分比
- 传输速度显示:实时查看当前上传/下载速度
- 活动日志流:终端窗口持续输出详细操作日志,清楚知道每个步骤的执行情况
为确保生产环境数据安全,插件采用了科学的备份策略:
- 独立备份目录:将网站和数据库压缩包(.tar.gz和.sql.gz)存放在专用的backup/目录中
- 生产文件不受影响:迁移过程中不会触碰正在运行的网站文件
- 结构清晰:备份文件按站点和数据库分类存放,便于管理和清理
插件通过aaPanel原生的API系统与目标服务器建立连接,无需暴露服务器root权限:
- 令牌认证:使用目标服务器生成的32位API密钥进行身份验证
- IP白名单:仅允许源服务器IP通过API访问,增强安全性
- 无需SSH密钥:避免因SSH密钥泄露带来的安全风险
在使用BTMigrate之前,请确保满足以下条件:
源服务器- 已安装aaPanel(即将安装插件的服务器)
- 能够访问目标服务器的API接口
- 已安装aaPanel
- 启用API:进入aaPanel设置 > API,开启API功能
- 生成令牌:在API设置页面创建新的API令牌,复制生成的32位密钥
- 设置IP白名单:将源服务器的公网IP地址添加到API白名单中
BTMigrate支持两种安装方式:
方式一:UI界面安装(推荐)- 将插件文件夹(iEnhancd_migrate)压缩为ZIP格式
- 登录源服务器的aaPanel后台
- 进入”应用商店”,点击”第三方插件”选项卡
- 点击”导入插件”,选择ZIP文件上传
- aaPanel会自动解压并完成安装
- 将iEnhancd_migrate文件夹上传至源服务器的
/www/server/panel/plugin/目录 - 通过SSH连接到源服务器
- 执行以下命令完成安装:
cd /www/server/panel/plugin/iEnhancd_migrate
bash install.sh install
安装脚本会自动设置正确的文件权限(755, root:root)并重载面板服务。
使用教程:四步完成迁移安装完成后,在应用商店中找到BTMigrate并打开。迁移过程分为四个简单步骤:
第一步:配置API凭证- 目标URL:输入目标服务器的aaPanel访问地址,格式如
http://192.168.1.100:8888 - API令牌:粘贴从目标服务器获取的32位API密钥
点击”下一步”,插件会自动测试与目标服务器的连接。
第二步:环境检查插件会自动对比源服务器和目标服务器的运行环境:
- Web服务器检查:确认两端是否安装了相同的Nginx/Apache版本
- MySQL检查:验证数据库服务是否就绪
确保环境兼容后,点击”下一步”继续。
第三步:选择数据与合并选项- 选择迁移数据:勾选需要迁移的网站、FTP账户和数据库,支持全选或单独选择
- 强制覆盖/合并:如果目标服务器已存在相同资源,勾选此选项可绕过”资源已存在”错误,直接将新数据合并到现有路径
确认选择后,点击”开始迁移”。
第四步:实时跟踪迁移进度迁移开始后,界面会显示:
- 整体进度条:直观显示已完成百分比
- 实时日志窗口:滚动显示文件压缩、传输和解压的详细过程
- 传输速度:当前上传/下载速率
重要提示:在”压缩中”和”传输中”阶段,请勿关闭浏览器标签页,以免中断迁移进程。
迁移完成后,页面会显示”迁移完成!”提示。您可以点击”下载日志”保存完整的迁移记录。
故障排查与日志系统如果迁移过程中出现失败或卡顿,BTMigrate提供了全面的日志追踪功能:
日志文件位置- 主日志文件:
/www/server/panel/logs/iEnhancd_migrate.log,记录迁移全过程 - 错误日志文件:
/www/server/panel/logs/iEnhancd_migrate_err.log,捕获Python后端崩溃等严重错误
如果迁移界面失去响应,可以安全地点击”停止迁移”按钮,系统会:
- 终止后台工作进程
- 重置跟踪文件(speed.json和sync_info.json)
- 恢复到可重新开始的状态
- 服务器迁移:将网站从旧服务器迁移到新购服务器
- 数据中心迁移:跨机房、跨服务商的数据迁移
- 环境复制:将生产环境复制到测试环境进行验证
- 客户网站迁移:帮助客户将网站迁移到公司服务器
- 负载均衡:将部分网站分流到新服务器
- 项目交付:将开发完成的网站部署到客户服务器
- 灾难恢复:从备份服务器恢复生产环境
