业务不能长时间中断,但整站数据和文件很大,直接停服迁移影响太大。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

rsync -avz --delete /old/ /new/ && rsync -avz /old/wp-content/uploads/ /new/wp-content/uploads/
# 切换前再跑一次增量

切换过程没有分阶段进行,全量同步与最终切换挤在同一时间段。这一点先确认清楚,后面就不用反复试。

「平滑迁移」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。

线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。

具体做法是,先做一次全量同步;切换前增量同步并锁定写入;解析切流后观察再关旧站。

改完照着核一遍,切换过程用户几乎无感,数据无丢失。

作者 9823189