为1400万个文件比较文件内容的最快方法



上周,我们将大约1400万个文件从本地文件共享转移到Azure文件共享。我们使用了AzCopy和Robocopy。

遗憾的是,一些Robocopy任务在飞行中被杀死(服务器关闭)。因此,一些文件在Azure和on-prem中具有相同的大小和相同的时间戳,但它们在Azure中被损坏(全是零)。

我们现在必须根据内容来比较prem和Azure中的所有文件,而不是根据大小和日期。

按内容比较文件的最快方法是什么?Windows的fc是一个选项,但是它看起来不够快。

多谢!

Robocopy不是罪魁祸首,AzCopy才是。

我结束了:

  • 加载数据库中的所有文件名。
  • 创建一个PowerShell脚本,计算每个文件在本地和Azure上的哈希值。
  • 当哈希值相同时,文件被标记为已处理。
  • 如果不相同,则再次复制文件。然后验证哈希值,并在数据库中标记文件。

我在4个VM上启动了大约14个这样的脚本,每个脚本负责数据库的一个子集。

它花了大约一个月的时间来完成。平均文件大小约为2mb。

希望有帮助。

最新更新