将数十万个文件 Mac 复制到 NAS

Ogr*_*amp 7 networking file-transfer tar macos

我正在尝试将我的 Aperture 库传输到 NAS。它包含几十万个文件(相当小的文件)。

OS X 完成复制大文件后,复制操作的估计时间从 2 小时到 4-5 天(并且还在增长)。

我知道一个解决方案可能是将它们压缩并复制 tarball,但问题是我想要复制的库大约是 80GB,而我的 Mac 上只剩下 10GB。

任何想法如何在这种情况下复制它们?

evi*_*oup 7

问题可能在于您正在处理许多小文件,并且大多数复制工具每个文件都有开销。可以对文件进行 tar 压缩,将数据通过管道传输到您的目的地,并在另一端解压存档,而无需在系统的任何位置实际创建 tarball。

tar cf - "~/Pictures/Aperture Library" | (cd "/Volumes/NAS/" && tar xf -)
Run Code Online (Sandbox Code Playgroud)

这样做的缺点是你不会有任何类型的进度表,但它应该比更传统的副本快得多。

  • 你可以输入 `pv` 来了解正在发生的事情。 (4认同)

slh*_*hck 6

您可以使用rsync命令行工具对文件进行单向同步。rsync如果您没有耐心,这种有效的方式很容易中断该过程 - 您可以在以后轻松地恢复它。只有仍要传输的文件才会被复制。

您需要打开Terminal.app,然后rsync像这样调用:

rsync -avh --progress "~/Pictures/Aperture Library" "/Volumes/NAS/"
Run Code Online (Sandbox Code Playgroud)

在这里,第一个路径指向您的库,默认情况下应该在Pictures下。如果您不确定,可以将库拖放到终端命令行,它会自动为您填充路径。NAS 的路径也是如此。

-a选项启用存档模式,该模式设置了一些默认值,包括递归复制。-v将使命令更加冗长。-h打开人类可读的文件大小。

Rsync 会显示一个进度表。如果要取消该过程,请按CtrlC。您可以再次调用该命令以rsync继续。