复制中断,难以通过 cp -u 或 rsync 重新启动来接管

复制中断,难以通过 cp -u 或 rsync 重新启动来接管

我有大量数据需要在 2 个 macOS(1.3 TB)之间传输。

不幸的是,我从 mac1 到 mac2 的复制(通过将 mac1 的相关目录作为网络目录挂载到 mac2 上),使用‘ rsync’(使用 withparallel命令)的复制已中断(855 GB 的所有内容已复制到 1.3 TB 上)。

自从这次事件之后,我就无法正确地接手那些尚未复制的缺失部分。

我尝试过(在 macOS 10.15.4 Catalina 上):

parallel -j32 rsync -az {} /Users/home_henry_from_astro/ ::: /Volumes/henry/*

parallel -j32 /usr/local/opt/coreutils/libexec/gnubin/cp -urp {} /Users/home_henry_from_astro/ ::: /Volumes/henry/*

在这两种情况下,复制似乎都无法实现,带有的命令cp -u没有显示任何内容,对于也是一样rsync -az,除了一些权限错误,但这些错误并不严重,至少我是这样认为的。

我定期检查目录的大小/home_henry_from_astro/,但大小并没有增加,总是相同的大小:855 GB

这是怎么回事?我该如何规避这个似乎在复制过程中挂起的问题?

编辑 :我提供以下更多信息来调试这个挂起:

以下是结果:$ ps aux | grep cp

sh-3.2# ps aux | grep cp
root             39911  26.8  3.9  7914992 2603432 s004  R    10:05PM 264:46.62 /usr/local/opt/coreutils/libexec/gnubin/cp -urp /Volumes/henry/Phd_2019_2020 /Users/home_henry_from_astro/
root             39915  24.1  4.0  7857356 2661576 s004  U    10:05PM 280:13.09 /usr/local/opt/coreutils/libexec/gnubin/cp -urp /Volumes/henry/Projets_info /Users/home_henry_from_astro/
root             39848   0.0  0.0  4605780  15244 s004  S+   10:05PM   0:15.34 perl /usr/local/bin/parallel -j32 /usr/local/opt/coreutils/libexec/gnubin/cp -urp {} /Users/home_henry_from_astro/ ::: /Volumes/henry/COPIE_Stage_Incomplete_lors_de_la_copie_de_kawito_vers_astro ...

这真的很奇怪,因为我R在第一个进程上有一个运行标志' ',但我不知道其他进程的其他代码,如' S+'或' 'U

他们的意思是什么 ?

欢迎任何帮助。

答案1

ssh理想情况下,您将在“远程”Mac 上启用该服务并rsync以适当的客户端/服务器方式运行。这比安装远程文件系统要高效得多。

尽管如此,我们假设您仍在挂载远程文件系统。简化命令并查看这里发生了什么。我删除了它,-z因为在本地文件系统中的目录点之间复制时它会被忽略,并添加了它-v以查看发生了什么。您可能需要添加另一个-v以获得额外的输出

rsync -av /Volumes/henry/* /Users/home_henry_from_astro/

您已经复制了 800 多 GB 的数据。该rsync过程必须跳过所有这些。现在,由于您使用了-a(archive) 标志,它可以根据大小和时间跳过文件。但它必须重新传输全部任何大小或时间戳不同的文件。不仅仅是更改的部分,而是整个文件。如果这是一个大文件,复制将需要相当长的时间。(如果您可以rsync在网络连接的每一端运行一个,那么您就可以从中获益,因为这样只需要重新传输更改的块。)如果您正在观察,您可以使用该--progress标志来查看发生了什么,但如果您正在写入日志文件,请不要使用此标志

rsync -av --progress /Volumes/henry/* /Users/home_henry_from_astro/

相关内容