文档首页> 上云指南> 迁移后的文件一致性校验

迁移后的文件一致性校验

发布时间:2026-03-08 15:30        更新时间:2026-03-08 22:44
迁移完成后,文件有没有一个字节不差地到位,不能靠肉眼判断。校验和批量比对是唯一可靠的办法,整套做下来不超过十分钟。 一、老机生成清单 在老机的网站根目录执行: find . -type f -not -path "./cache/*" -exec md5sum {} \; > /root/files.md5 把每个文件的路径和 MD5 值写进一份清单。对安全有要求的换 sha256sum 同理,两条命令参数通用,二选一即可。cache 这类可再生的目录排除掉,避免无意义的差异刷屏。文件上百万的目录,这一步要跑十几分钟,放进 nohup 后台跑,别开着终端干等。 二、传清单到新机 清单本身很小,一条命令: scp /root/files.md5 root@新机IP:/root/ 三、新机批量校验 新机进入同样的网站根目录执行: md5sum -c /root/files.md5 | grep -v ': OK' 输出为空,说明全部一致;列出文件名的,就是内容有出入的,用 rsync 定向补一次: rsync -avc root@老机IP:/var/www/site/ /var/www/site/ -c 参数强制按校验和比较,只传真正不一致的文件,效率高。校验前先对行数:wc -l files.md5 应等于新机 find 出来的文件数,清单本身不缺,再谈内容一致。 四、抽样深查 校验通过后做总量复核:find . -type f | wc -l 对比文件个数,du -sh 对比总大小,两个数字和老机对上即可收工。图片、附件这些用户上传目录,再随机挑几十个文件打开看一眼,确认能正常显示。压缩包、安装包这类二进制大文件单独抽验,md5sum 单个文件核对,它们坏了网站不报错,用到才发现。 两个盲区要注意:MD5 只管内容,不管权限位,用 ls -l 对比一遍属主和权限;软链接不会被原样带走,find . -type l 列出来,逐个确认指向是否还有效。数据库的一致性单独验:导出时记录各表行数,导入后 SELECT COUNT(*) 逐表核对,核心业务表一张都别跳。 常见误报是日志和缓存文件的差异,它们本来就在变,清单里排除或人工忽略即可。一致性校验的意义,是把“应该没问题”变成“确认没问题”。校验通过也不代表一劳永逸,切换后一周内有人反馈文件缺失,拿老机清单再跑一次比对就能定位。