SFTP를 사용하는 대신 단일 파일의 경우 송신 측 cat
또는 pv
송신 측 및 tee
중간 서버 에서 ssh를 통해 파일을 파이프하여 데이터를 파일로 보내고 다른 ssh 링크를 통해 사본을 보낼 수 있습니다. 데이터를 파일에 씁니다. 정확한 부두는 지금 당장 플레이 할 시간이 없기 때문에 독자를위한 연습으로 남겨 두어야했습니다 (죄송합니다). 이 방법은 SSH를 통해 두 번째 대상에 공개적으로 액세스 할 수있는 경우에만 작동하며 클라이언트 시스템으로 설명 할 때는 그렇지 않을 수 있습니다.
"실행 및 대기"가 적지 만 rsync
서버와 클라이언트 B 사이에서 사용하는 것이 더 쉬운 다른 접근 방법입니다 . 처음 실행할 때 데이터의 일부 사본을 얻을 수 있지만 다시 실행할 수 있습니다. 나중에 더 많은 데이터를 가져옵니다 (Client1-> 서버 전송이 완료되면 마지막으로 한 번 실행). 이것은 SFTP 전송 중에 서버가 데이터를 올바른 파일 이름으로 직접 넣는 경우에만 작동합니다 (때로는 데이터가 임시 파일로 들어가는 것을 볼 수 있습니다. 그런 다음 파일이 완전히 전송되면 이름이 바뀝니다. 파일을 더 원자 적으로 업데이트하지만 rsync 아이디어를 사용할 수 없게 만듭니다). scp 대신 C1-> S 전송에 rsync를 사용할 수도 있습니다 (--inplace
-위에서 언급 한 문제를 피하는 옵션)-rsync를 사용하면 대량 전송 중에 C1-> Server 연결에 문제가 발생하는 경우 모든 것을 다시 보내지 않아도 보호 할 rsync --inplace -a --progress <source> <dest>
수 있습니다. 이 "전송 이력서"행동).
위의 내용을 요약하려면 다음을 실행하십시오.
rsync --inplace -a --progress <source> user@server:/<destination_file_or_folder>
client1에서 실행 중
rsync --inplace -a --progress user@server:/<destination_file_or_folder> <destination_on_cli2>
첫 번째 전송이 완료 될 때까지 client2에서 반복적으로 (모든 것을 확보하기 위해 다시 한 번 실행). rsync
매번 전체 로트를 전송하는 대신 위치를 업데이트해야하는 절대 최소값 만 전송하는 것이 매우 좋습니다. 편집증를 들어 당신은 추가 할 수 있습니다 --checksum
(이 필요하지 않은 옮겨진되는 큰 파일 훨씬 더 많은 CPU 시간이 걸릴 것입니다하지만 훨씬 더 많은 데이터를 발생하지 않습니다)에 rsync를 명령에 옵션을 속도에 대한 --compress
옵션은 데이터가있는 경우 도움이 될 것입니다 전송중인 압축 형식이 아닙니다.