开始输入,可搜索发票、服务、域名、工单,以及 更多...
无论是日常防护还是升级到更高配置的 IMIDC 服务器,宝塔面板备份与网站迁移都是站长绕不开的工作。本文适用于宝塔 Linux 面板 / aaPanel(Debian/Ubuntu 与 CentOS/Rocky/AlmaLinux 通用),介绍面板定时备份、备份到远程存储、一键迁移插件的使用思路,以及最稳妥的手动方法:tar 打包网站 + mysqldump 导出数据库,最后附上 DNS 切换清单,帮助你零数据丢失地完成搬家。
进入面板左侧“计划任务”,任务类型分别选择“备份网站”和“备份数据库”,选择全部或指定站点,执行周期建议每天凌晨,保留份数按磁盘大小设置(如 7 份)。备份默认存放在 /www/backup 目录,可以用下面的命令检查文件和占用空间:
ls /www/backup/site /www/backup/database
du -sh /www/backup/*
df -h /www在面板“软件商店”中搜索并安装存储类插件(如 FTP、S3 兼容对象存储等),填写存储的访问信息后,回到计划任务,把备份的“备份到”选项改为该远程存储。也可以把另一台 IMIDC 服务器作为 FTP 或 rsync 备份目标,实现异地容灾。
宝塔官方提供“一键迁移”类插件。通用流程是:在新服务器上安装同样的宝塔面板,在其面板设置中开启 API 接口并把旧服务器 IP 加入白名单;然后在旧服务器上安装迁移插件,填入新面板的地址和 API 密钥,勾选要迁移的网站、数据库和 FTP,等待传输完成。插件名称和界面会随版本变化,以面板中实际显示为准。迁移前建议新旧两台的 PHP、MySQL 版本保持一致。
插件失败或只迁移个别站点时,手动迁移最可控。在旧服务器上执行以下命令(把 example.com 和 example_db 换成你的站点目录和数据库名),--single-transaction 可以在不锁表的情况下导出一致的 InnoDB 数据。
# On the OLD server
mkdir -p /root/migrate && cd /root/migrate
tar -czf example.com.tar.gz -C /www/wwwroot example.com
# Export the database (consistent dump for InnoDB, keeps utf8mb4)
mysqldump -uroot -p --single-transaction --routines --triggers \
--default-character-set=utf8mb4 example_db | gzip > example_db.sql.gz
# Copy the Nginx vhost and rewrite rules for reference
cp /www/server/panel/vhost/nginx/example.com.conf /root/migrate/
cp /www/server/panel/vhost/rewrite/example.com.conf /root/migrate/rewrite-example.com.conf 2>/dev/null
ls -lh /root/migrate然后用 rsync 把文件推送到新服务器,支持断点续传,比 scp 更适合大文件:
# Debian / Ubuntu
apt install -y rsync
# CentOS / Rocky / AlmaLinux
yum install -y rsync
# Push the files to the NEW IMIDC server
rsync -avP -e "ssh -p 22" /root/migrate/ root@NEW_SERVER_IP:/root/migrate/先在新服务器的宝塔面板中添加同名网站、创建同名数据库和用户(记下密码),并安装相同版本的 PHP 扩展。再解压网站文件、修正权限、导入数据库。若数据库密码与旧服务器不同,请同步修改网站配置文件(如 WordPress 的 wp-config.php)。伪静态和 SSL 可在面板网站设置中重新配置,可参考“宝塔建站与 SSL”教程。
# On the NEW server, after creating the site and the empty database in the panel
cd /root/migrate
tar -xzf example.com.tar.gz -C /www/wwwroot/
chown -R www:www /www/wwwroot/example.com
gunzip < example_db.sql.gz | mysql -uexample_db -p example_db切换 DNS 前,在自己电脑上修改 hosts 文件,让域名临时指向新服务器 IP,全面测试首页、后台登录、上传和支付等功能,确认无误后再改解析。测试完记得删除这行。
# Windows: C:\Windows\System32\drivers\etc\hosts
# macOS / Linux: /etc/hosts
NEW_SERVER_IP example.com www.example.com# Final sync of uploads changed since the first copy (run on the OLD server)
rsync -avP /www/wwwroot/example.com/ root@NEW_SERVER_IP:/www/wwwroot/example.com/
# Verify DNS after switching
dig +short example.com A
nslookup example.com 8.8.8.8一般是 DNS 尚未生效、站点域名没有添加完整(带 www 和不带 www),或网站目录路径与旧服务器不一致。检查面板中的站点域名和根目录设置。
通常是新服务器 MySQL 版本较低,不支持 utf8mb4_0900_ai_ci 等排序规则。建议新服务器安装相同或更高版本的 MySQL,或在导出文件中替换为兼容的排序规则。
先用 rsync 在业务运行时完成第一次全量同步,切换时只做增量同步,停机时间可以缩短到几分钟。
如按以上步骤仍无法解决,请提交工单联系 IMIDC 7×24 技术支持,并附上服务器 IP、操作系统版本、执行过的命令和报错截图,方便工程师快速定位问题。