답변:
한마디 : rsync
.
링크 속도가 느리거나 서버로드가 심한 경우 복사에 사용되는 도구에 병목 현상이 발생하지 않으며 복사 방법이 느려집니다.
로컬 컴퓨터와 원격 서버 사이의 복사에 대한 기본 사용법이 제공됩니다. http://oreilly.com/pub/h/38
로컬 컴퓨터에서 원격 서버로 복사하려면 (경로, 사용자 이름 및 호스트 주소를 바꿔야합니다) :
rsync -avz -e ssh /path/on/local/computer remoteuser@remotehost.somewhere.example.com:/path/on/server
-a
보관-v
말 수가 많은-z
압박 붕대-e ssh
"SSH 터널 사용"(첫 번째 경로 전환, 다른 방향으로 복사하는 방법 에서 초이며 에 )
rsync -avz -e ssh remoteuser@remotehost.somewhere.example.com:/path/on/server /path/on/local/computer
그러나 rsync는 동일한 서버에서 사물을 복사하는 경우에도 유용합니다.
rsync -av /path-to/copy/from /path_to/copy/to
-z
한 시스템 내에서 LAN 복사 또는 복사에 사용하지 마십시오 . -z
인터넷을 통한 복사 유무 에 관계없이 테스트 합니다 (많은 것들에 따라 둘 중 하나가 더 빠를 수 있습니다).
-e ssh
이제 원격 호스트의 기본값이므로 옵션을 명시 적으로 전달할 필요가 없습니다.
다른 단어: scp
scp /path/on/local/computer remoteuser@remotehost.somewhere.example.com:/path/on/server
원샷 거래의 경우 scp가 편리합니다. 파일이 많으면 rsync를 사용하는 것이 좋습니다. 연결이 끊어지면 rsync가 중단 된 지점을 선택할 수 있습니다.
rsync에 압축 ( -z
) 이 있음을 알고 scp도 수행한다는 것을 알게되었습니다 ( -C
).
설정에서 rsync가 충분할 것입니다 ...하지만 작은 파일이 많은 경우 먼저 rsync를 통한 전송보다 파일을 tar하는 것이 더 빠를 수 있습니다. 소유자, 타임 스탬프, 권한 전송이 파일 크기가 작은 경우 파일 자체보다 무겁기 때문입니다. Tar은 모든 정보를 하나의 파일로 병합하고 rsync는 더 큰 블록을 복사합니다.
또는 보안이 필요하지 않은 경우 tar 및 nc를 사용하십시오.
대상에서 수신 디먼을 준비하고 압축을 풀고 untar하십시오.
nc -l -p 12345 | pigz -d | tar xvf -
소스에서 모든 것을 tar로 병렬 압축하여 대상으로 보냅니다.
tar cvf - ./ | pigz | nc host 12345
-z
는 불필요한 오버 헤드를 추가하므로 로컬 복사 옵션을 생략했습니다. IMHO,-z
느린 네트워크 링크에서 rsync를 사용할 때만 사용해야 합니다. 100Base-T를 통해 대량의 데이터를 복사하는 경우-z
. 빠른 네트워크 연결에서 압축을 사용하면 CPU가 손상되고 다른 프로세스가 고갈 될 수 있습니다.