### [雨云网站迁移上云实战:零停机rsync+数据库切换+DNS回滚预案](https://www.jiyueip.com/article/7688) **Published:** 2026-07-22T00:46:24 **Author:** 斑斓助理 **Excerpt:** 从旧服务器搬家到雨云云服务器,最怕的是停机丢数据。本文用 rsync 增量同步文件、mysqldump 导出导入数据库、DNS 低 TTL 切换与回滚预案,实现平滑迁移。 从老服务器搬到雨云云服务器,最怕两件事:迁移过程丢数据,切换域名后用户连不上。按下面这套流程走,rsync 增量同步做好预迁、数据库导出导入、DNS 用低 TTL 切换并留好回滚预案,能最大程度保证平稳上云。 ## 一、迁移前的准备清单 - 在雨云控制台开一台至少和老服务器同等配置的机器,系统版本建议一致; - 配好安全组(只放 80/443 和你的 SSH IP),安装基础环境(Nginx/PHP/MySQL 版本对齐); - 域名管理后台登录好,准备调 DNS; - 老服务器确认有足够磁盘做最终全量备份。 雨云云服务器新购用优惠码 **admin01** 走专属入口 [https://www.jiyueip.com/link/5617](https://www.jiyueip.com/link/5617) 五折,迁移期间临时开两台(老一根、新一根)成本不高。 ## 二、第一步:rsync 预同步(不停老服) 先做一次全量同步,把绝大多数文件拷过去。这段时间老服务器正常对外: rsync -avzP --exclude='cache/' --exclude='tmp/' -e "ssh -p 22" /var/www/html/ root@雨云IP:/var/www/html/ –exclude 跳过缓存和临时目录,这些没迁移价值还慢。第一次 rsync 可能比较久,看数据量。 ## 三、第二步:数据库导出导入 数据库不能一边跑业务一边拷(会不一致)。做法是先用 mysqldump 导出,在老服务器上不影响业务: \# 老服务器 mysqldump -u root -p --single-transaction --all-databases > /tmp/fullbackup.sql gzip /tmp/fullbackup.sql rsync -avzP /tmp/fullbackup.sql.gz root@雨云IP:/tmp/ –single-transaction 对 InnoDB 表做一致性快照,不锁表。然后在雨云新服务器上导入: gunzip < /tmp/fullbackup.sql.gz | mysql -u root -p ## 四、第三步:最终增量同步 + 切换 这是唯一的短暂中断窗口。先把老服务器设为维护模式(返回 503),再做最终 rsync(只传差异部分,很快): \# 老服务器 Nginx 切维护模式 # mv /etc/nginx/sites-enabled/yoursite /tmp/ # 然后增量同步 rsync -avzP --delete --exclude='cache/' --exclude='tmp/' -e "ssh -p 22" /var/www/html/ root@雨云IP:/var/www/html/ 确认文件同步完、数据库已导入、雨云机器上能本地 curl 通,切 DNS。 ## 五、DNS 切换与 TTL 技巧 切入正题前几小时,先把域名的 A 记录 TTL 降到 60 秒(如果原来的很大,需提前设,TTL 是缓存到期后才生效新值)。切换时把 A 记录指向雨云 IP,最长 60 秒内用户就跑到新服务器了。 关键回滚机制:**保留老服务器的配置和环境至少 48 小时**,DNS 切回原 IP 也是 60 秒内生效。万一迁移后出问题,不用从备份恢复,直接切回原 IP。 ## 六、迁移后的检查项 - curl -I 雨云IP 看返回 200; - 检查 PHP 错误日志有没有报缺失扩展; - 登录 WordPress 后台跑一下,看文章、插件、主题是否正常; - 检查文件权限(www-data 读写的目录); - 确认 crontab 任务已迁移(老服务器的定时备份等)。 ## 七、完整迁移时间线 | 步骤 | 操作 | 是否停机 | | --- | --- | --- | | T-24h | DNS TTL 降到 60s | 否 | | T-2h | 第一次 rsync 全量 | 否 | | T-30min | 数据库导出→导入 | 否 | | T-5min | 老服切维护模式、最终 rsync | 是(约 5 分钟) | | T | DNS 切指向新 IP | 否 | | T+48h | 确认无问题,关闭老服务器 | 否 | ## 八、几个易翻车点 - PHP 版本不对——老服务器跑 PHP 7.4 新装 PHP 8.2,代码里有不兼容函数直接报 500。迁移前先确认版本; - MySQL 字符集不一致——导出文件里没指定字符集,导入后中文全变问号; - rsync 忘了 –delete 导致老文件残留; - 迁移后忘了更新 WordPress 的 siteurl 和 home 字段,后台登录跳回老域名。 ## 常见问题 关于从其他平台迁移到雨云的常见疑问,下面一并解答。 **Tags:** 云服务器, 服务器运维, 网站运维, 雨云 **Categories:** 行业洞察 ---