원격 서버에서 로컬 서버로 수백만 개의 파일을 복사하는 방법

원격 서버에서 로컬 서버로 수백만 개의 파일을 복사하는 방법

이 문제가 있습니다. 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

관련 정보