디렉토리를 gzip하고, scp를 통해 전송하고, 하나의 명령으로 압축을 푸는 방법은 무엇입니까?

디렉토리를 gzip하고, scp를 통해 전송하고, 하나의 명령으로 압축을 푸는 방법은 무엇입니까?

나는 자주 큰 디렉토리를 전송하는데 scp, 어떻게든 디렉토리를 압축하고 보내고 압축을 풀 수 있다면 좋을 것입니다.

이런 일이 가능합니까?

답변1

rsync대신 -z압축 옵션을 활성화하여 사용하는 것은 어떻습니까 ?

rsync -az --progress source_dir/* remote_host:/destination_dir

또한 파일이 이미 존재하고 대상에 변경되지 않은 경우 전송되지 않는다는 추가 이점도 있습니다.

답변2

@johnshen64님의 답변 덕분에 꽤 좋은 결과를 얻을 수 있었습니다.

tar -zc path/to/source | ssh user@remote tar -zxC path/to/destination

안타깝게도 전송 중에는 진행 상황이 표시되지 않습니다. 이 방법을 사용하면 놀라운 속도 향상을 발견했습니다.

이와 같은 전송 진행 상황을 표시하는 방법을 아시는 분이 계시다면 도움을 주시면 정말 감사하겠습니다. :)

답변3

음, 대신 tar를 사용하겠습니다

tar cf - 디렉토리 | SSH 서버 'tar xf -'

v를 추가하여 확인할 수 있습니다.

zip은 동일해야 하지만 제 생각에는 tar가 Linux에 더 강력합니다.

관련 정보