rsync 会恢复原始文件元数据吗?

rsync 会恢复原始文件元数据吗?

目标:将大量大文件(文件大小>500MB)从一台 NAS (WD Mycloud) 同步到另一台。 rysnc 在两者上均可用。两者都通过千兆交换机连接。 NAS 文件可以使用 Windows 资源管理器以 40+MB/s 的速度移动,但文件元数据(日期)会更改为当前日期。 rsync 的运行速度约为 10-12MB/s。

如果使用 Windows 资源管理器复制文件(为了速度),数据的创建日期将反映今天的日期。是否可以使用特定的 rsync 选项来恢复文件日期创建和其他相关文件元数据以匹配源文件?

更新:@RomeoNinov 建议我更新这个问题:尝试使用 rsync 成功了一半,恢复了文件的日期,但没有恢复文件夹的日期。

rsync -ax --size-only --progress [email protected]:/shares/Public/Drivers /shares/Public 

有人建议我在声明中添加 -v 并此链接将有助于解释为什么它没有更改。 我的解码尝试没有成功。

该请求是针对命令行示例(类似于上面),它将同步文件和文件夹元数据。期待聪明的回应和精彩的叙述。

答案1

您可以使用rsync -aX它来同步元数据(包括权限和时间戳 - 根据需要调整标志以同步您想要的内容),并--size-only禁用检查快速检查算法的时间戳。从手册页:

--size-only 这修改了 rsync 用于查找需要传输的文件的“快速检查”算法,将其从默认传输大小已更改或上次修改时间已更改的文件更改为仅查找大小已更改的文件。当使用另一个可能无法准确保留时间戳的镜像系统后开始使用 rsync 时,这非常有用。

...这听起来基本上就是你的情况。当然,有可能遗漏了一些更改,这些更改更新了文件,但保留了相同的大小(例如,交换了一些单词) - 但如果您确定在复制后立即运行它,而没有机会获取源代码文件更改,这不会是问题。

但请注意,Unix 没有标准的“创建”日期。 (看这个答案.) 我不知道这会与您的 NAS 使用和提供的任何文件系统和元数据交互。

相关内容