다음과 같이 rsync를 사용한다고 가정해 보겠습니다.
rsync user@server:/path/to/file1 user@server:/path/to/file2 /local/directory
원격 서버의 file1 및 file2를 로컬 디렉터리로 복사합니다. 이 경우 rsync는 두 개의 파일을 복사하기 위해 두 개의 별도 SSH 연결(각 파일당 하나씩)을 설정합니까, 아니면 rsync가 하나의 SSH 연결을 설정하고 필요에 따라 열어두나요?
답변1
이를 직접 테스트하면 사용 중인 특정 버전의 rsync에 대한 유효한 답변을 얻을 수 있습니다.
rsync -e $'sh -x -c \'exec ssh "$@"\' _' \
user@server:/path/to/file1 user@server:/path/to/file2 /local/directory
( $''
위에 사용된 구문은 ksh 또는 bash에서 사용할 수 있는 확장이지만 적용되지는 않습니다 /bin/sh
.)
sh -x
실행 중인 각 명령에 대해 한 줄이 기록된 것을 볼 수 있습니다 ssh
. 명령이 하나만 있는 경우 ssh
특정 버전의 rsync가 연결을 재사용할 수 있습니다. (이것은 버전 3.1.2를 사용한 내 자체 테스트의 경우인 것 같습니다.)