gpt4 book ai didi

google-compute-engine - gsutil rsync同步两个文件夹时如何判断一个文件是旧文件还是新文件?

转载 作者:行者123 更新时间:2023-12-04 02:21:29 24 4
gpt4 key购买 nike

我正在将文件同步到 DRA 存储桶,我需要确保当源文件夹中的文件较新时,它必须同步到目标文件夹。

现在我正在使用 MD5 校验和来 100% 确定,但这对于包含大量文件的 8TB 数据集来说太慢了。

如果我禁用 MD5 检查,gsutil rsync 如何确定文件是否应该同步?

最佳答案

来自 gsutil rsync --help:

变化检测算法 要确定文件或对象是否已更改,gsutil rsync 首先检查是否 源和目标大小匹配。如果他们匹配,接下来检查他们的 校验和匹配,如果可用则使用校验和(见下文)。

与 Unix 不同 rsync 命令,gsutil rsync 不使用时间戳来确定是否 文件/对象已更改,因为 GCS API 不允许调用者设置 对象的时间戳(因此,相同文件/对象的时间戳不能 匹配)。

校验和在两种情况下不可用:

  1. 与文件系统同步或从文件系统同步时。默认情况下,gsutil 不会 校验和文件,因为处理大文件时速度变慢 文件。您可以使用 gsutil rsync -c 使 gsutil 对文件进行校验和 选项,以增加本地磁盘 I/O 和工作时的运行时间为代价 大文件。如果您的文件可以,您应该考虑使用 -c 选项 在不改变大小的情况下改变(例如,如果你有包含固定的文件 宽度数据,例如时间戳)。

  2. 将复合 GCS 对象与云提供商处的对象进行比较时 不支持 CRC32C(这是唯一可用的复合校验和 对象)。有关复合对象的详细信息,请参阅“gsutil help compose”。

问候,
保罗

关于google-compute-engine - gsutil rsync同步两个文件夹时如何判断一个文件是旧文件还是新文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28779167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com