한 UNIX 시스템에서 다른 시스템으로 SSH를 복사 할 때 각 파일을 한 번에 다른 대상 (예 : 각 파일에 대해 새 SSH 연결을 설정하는 오버 헤드가 발생하지 않음)으로 복사 할 수 있습니까? 당신이 걸릴 수여러 개의 파일을 여러 대상으로 복사
/Users/apple/a --> /home/orange/.
/etc/var/b --> /usr/local/var/.
/other/c --> /wildly/different/.
한 UNIX 시스템에서 다른 시스템으로 SSH를 복사 할 때 각 파일을 한 번에 다른 대상 (예 : 각 파일에 대해 새 SSH 연결을 설정하는 오버 헤드가 발생하지 않음)으로 복사 할 수 있습니까? 당신이 걸릴 수여러 개의 파일을 여러 대상으로 복사
/Users/apple/a --> /home/orange/.
/etc/var/b --> /usr/local/var/.
/other/c --> /wildly/different/.
한 가지 전략은 당신이 것 파일 구조를 모방 로컬 시스템 (발신자)에 "루트"디렉토리를 생성하는 것입니다 :이 같은 파일 무언가의 소스 및 대상을 지정하여 예를 들어, 받는 기계에 가지고 있고, 그 후에 그것을 다른 기계에 루트 (/
)에 베끼는 것을 좋아하십시오.
/tmp/root
/tmp/root/home/orange/a
/tmp/root/usr/local/var/b
/tmp/root/wildly/different/c
을 그리고 단지 단지 하나의 복사 작업이 될 것입니다 원격 시스템에 /
에 /tmp/root
복사 : 예를 들어, "루트"로 다음과 같은 임시 디렉토리를 구성 할 수 있습니다.
난 당신이 같은 것을 쓸 수 있다고 가정 :
mkdir ./tmp/
ln -s /Users/apple/a /etc/var/b /other/c ./tmp/
# Now ./tmp/ has symbolic links to all these files.
# Tar the files to STDOUT, and pipe that over SSH to a
# tar that's reading from STDIN:
tar -ch tmp/* \
| ssh [email protected] ' tar -xf -
mv tmp/a /home/orange/
mv tmp/b /usr/local/var/
mv tmp/c /wildly/different/
rmdir tmp/
'
rm -r tmp/
. . . 매우 우아하지는 않지만 단일 SSH 연결 만 필요합니다.
SSH session sharing을 고려해 볼 수 있습니다. 더 이상 재 인증 할 필요가 없으므로 빠릅니다.
나는 이것이 완전히 철회 된 것에 실망했다. 기록을 위해 나는 슈퍼 유저로 이동하기로 결정했다. – ruakh