![tar를 통해 scp/ssh 파일 전송(풀)을 파이프하는 방법(원격->로컬 컴퓨터에서 시작된 로컬 전송)](https://linux55.com/image/47868/tar%EB%A5%BC%20%ED%86%B5%ED%95%B4%20scp%2Fssh%20%ED%8C%8C%EC%9D%BC%20%EC%A0%84%EC%86%A1(%ED%92%80)%EC%9D%84%20%ED%8C%8C%EC%9D%B4%ED%94%84%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95(%EC%9B%90%EA%B2%A9-%26gt%3B%EB%A1%9C%EC%BB%AC%20%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C%20%EC%8B%9C%EC%9E%91%EB%90%9C%20%EB%A1%9C%EC%BB%AC%20%EC%A0%84%EC%86%A1).png)
tar(아래에는 tar의 예 없음)를 통해 scp 풀 작업을 수행하여 약 10개의 디렉터리가 하나의 tar 파일에만 기록되도록 하고 싶습니다.
user@localhost:/home/user> scp -r remoteuser@remotehost:dir_to_transfer ./
원격 컴퓨터에 디렉터리가 있는데 각 디렉터리에는 전송할 작은(~28k) 파일이 약 10,000개 있습니다. 파일 할당량으로 인해 원격 호스트(remotehost)에서 tar 명령을 실행할 수 있는 여유 공간이 많지 않습니다. 방화벽 규칙으로 인해 로컬 컴퓨터(localhost)에서만 전송을 시작할 수 있습니다.
파일 수가 많으면 전송 시간이 매우 길어집니다.
데이터를 "푸시"할 때 이를 수행하는 방법에 대한 예를 찾았지만 데이터를 "풀"할 때 이를 수행하는 방법을 알고 싶습니다.
로컬 머신 정보:
운영 체제: OpenSuSe 13.2(x86_64)
배쉬 4.2.53(1)
OpenSSH_6.6.1p1, OpenSSL 1.0.1k-fips 2015년 1월 8일
원격 기계 정보:
- 운영 체제: CentOS 버전 5.11(최종 버전)
- 배쉬 3.2.25(1)
- OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 2008년 7월 1일
답변1
부터 시작해 보세요user@localhost
> ssh -l remoteuser remotehost "tar cf - dir_to_transfert" > remote.tar
어디
>
알림입니다ssh -l remoteuser remotehost
원격 호스트에 연결"tar cf - dir_to_transfert"
표준 출력에서 원격 tarin 실행> remote.tar
SSH의 출력을 로컬 파일 이름인 Remote.tar로 리디렉션합니다.
원격 호스트에서 tar를 사용할 수 있는 경우 이 방법이 작동합니다.