微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 并行特定文件夹中的scp文件

我想scp文件从machineA到我的机器B,这就是我这样做的方式.我将一堆文件从machineA的主文件一个一个地复制到machineB的主文件夹和machineA的二级文件夹到machineB的二级文件夹.

trinity@machineB:~$scp trinity@machineA:/data01/primary/* /data01/primary/
trinity@machineB:~$scp trinity@machineA:/data02/secondary/* /data02/secondary/

有什么方法可以并行复制多个文件吗?像文件夹中一次五个文件一样?因此,我不是一次复制一个文件,而是分别从主文件夹或辅助文件夹中复制五个文件

基本上我想将machineA的主文件夹和辅助文件夹中的任何内容并行复制到machineB中.

如果我可以使用它,我也在我的盒子上安装了GNU Parallel.我试过下面的命令,但它不起作用.我原以为它应该一次并行复制5个文件,直到从该文件夹中复制所有内容.

parallel -j 5 scp trinity@machineA:/data01/primary/* /data01/primary/

我的并行语法有什么问题吗?从远程文件夹并行复制五个文件直到从中复制所有内容的最佳方法是什么?

解决方法:

为什么你认为并行连接会使它更快? SCP是一个非常简单的工具,可以传输少量的小文件,无需提供吞吐量和性能.从更多并行进程运行它可以使它更快一点,但不是很明显.你可以做的另一个方面是:

>使用sftp获得更好的吞吐量和更聪明的复制(应该足够),例如使用-r
>使用ControlMaster消除并行TCP连接的开销
>对并行使用正确的参数

我会从sftp开始:

sftp -r trinity@machineA:/data01/primary/ /data01/primary/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐