迁移一般使用scp或rsync比较多,此文记录迁移遇到的坑。
rsync的使用
因为不使用rsync://协议,不走配置文件。配置文件太麻烦了,我们直接使用ssh的22端口进行传输。
首先要同步的机上都安装上rsync.
yum install -y rsync
同步命令
rsync -av --progress --exclude="vendor/*" 源目录/ 目标目录/
rsync -av --progress --exclude="vendor/*" --exclude="Runtime/log/*" root@163.163.163.163:/webwww/www/slplat /webwww/www/
参数解释
--exclude 排除要同步的目录
-a 参数表示存档模式,保存所有的元数据,比如修改时间(modification time)、权限、所有者等,并且软链接也会同步过去。
-v 输出细节
--progress 输出同步信息
每次运行即可同步信息
同步好文件之后,一般要停掉源服务器的写入,因为要同步数据库迁移。
这里可以使用腾讯云的数据库迁移工具。
或使用navicat mysql的迁移工具。
这里要注意同步的话要同版本迁移,例如mysql5.7,目标数据库最好是5.7,如使用8.0.22可能有问题,因为mysql8.0.22去掉int类型的位长。
dns与cdn的更新
因为dns可能存在缓存的问题,并不能及时更新到用户层,所以源来的服务器最好开启,把数据库等连接填写新外网的数据库。
测试
最后一步测试流程,例如有些接口做了ip白名单的,要主动加上。