复制大量文件,同时保留文件夹结构

复制大量文件,同时保留文件夹结构

我正在将大约 300K 文件(每个文件大约 30MB)从一个目录复制到另一个目录。我使用以下命令来保留文件夹结构

find . -name '*.msg' -exec cp -p --parents \{\} /destinated_folder \;

我遇到了这个错误信息

packet_write_wait: Connection to aa.bbb.ccc.dd port ee: Broken pipe`

脚本正在运行,但不知何故中途停止了。我也看到过类似的rsync讨论这里

我想知道解决方案可能是什么?我使用的是具有 6vCPU 和 32GB 内存的 Ubuntu。

答案1

如果您使用,find -exec cp您将拥有一个在发生错误时无法轻松重新启动的进程。我不相信您看到的错误与您向我们展示的命令有关,因为命令中没有引用网络。

也许您正在从 SMB/NFS 驱动器复制或向 SMB/NFS 驱动器复制? (如果是这样,如果您可以登录到远程系统并让其rsync管理网络复制,您将获得更高效的副本。)

尽管如此,此rsync命令将允许您多次重新启动复制过程(包括处理您已经制作的副本)

rsync -av --include '*.msg' --include '*/' --exclude '*' --prune-empty-dirs --dry-run . /destinated_folder/

--dry-run当您很高兴它能达到您的预期时,请将其删除。

相关内容