如何将数百万个文件从远程服务器复制到本地服务器

如何将数百万个文件从远程服务器复制到本地服务器

我有这个问题,我有一个 Ubuntu 服务器(在端口上启用了 SSH 4444)。在该服务器内部有一个名为 的目录/folder/a/,该目录字面上地包含数百万个小尺寸文本文件。

我想做的是找到一些从这数百万个文件中提取数千个文件,并将这些文件复制或传输到我的本地电脑,即使用find命令。使用时scp否则cpio无法正常使用。

您对如何从我的本地电脑(即)执行此操作有任何建议吗不是从我的远程服务器上运行 ssh 终端。

答案1

rsync -e 'ssh -p 4444' -a --include="pattern you want" --exclude="*" $S:/folder/a ~/copy

或者

ssh -p 4444 $S "find /folder/a -name 'pattern you want' | tar -cO -T -" > ~/copy.tar

或者

rsync -e 'ssh -p 4444' -a --files-from=<(ssh -p 444 $S find /folder/a -name 'pattern you want') $S:/folder/a ~/copy

相关内容