我想将machineA
中的文件scp到我的machineB
中,这就是我的做法。我正在从primary
的{{1}}文件夹到machineA
的{{1}}文件夹和primary
machineB
文件夹中逐个复制一堆文件到{ {1}} secondary
的文件夹。
machineA
有什么方法可以并行复制多个文件?像文件夹中一次五个文件一样?因此,我不是一次复制一个文件,而是分别从主文件夹或辅助文件夹中复制五个文件?
基本上我想将secondary
的主要和次要文件夹中的任何内容并行复制到machineB
而不是按顺序执行。我的意思是我可以设置一些限制,例如一次复制5个文件。
如果我可以使用它,我的盒子上也安装了GNU Parallel。我在trinity@machineB:~$ scp trinity@machineA:/data01/primary/* /data01/primary/
trinity@machineB:~$ scp trinity@machineA:/data02/secondary/* /data02/secondary/
上尝试了以下命令,但它不起作用而且它给出了错误。我希望它一次可以并行复制5个文件,直到从该文件夹中复制所有内容。
machineA
以下是我看到的错误:
machineB
我可以毫无问题地从machineB到machineA。我的并行语法有什么问题吗?从远程文件夹并行复制五个文件直到从中复制所有内容的最佳方法是什么?我的所有文件名都以machineB
答案 0 :(得分:1)
执行命令
ssh machineA 'parallel --dry-run -j 5 scp {} machineB:/data01/primary/ ::: /data01/primary/*'
它将打印一堆scp行。
选择其中之一并执行:
ssh machineA 'scp ...'
您需要输入密码吗?