느리거나 비정상적인 네트워크 링크를 통한 안정적인 파일 전송


8

저품질 광대역 링크를 통해 여러 파일을 서버로 전송해야합니다. 파일이 커서 파일 당 전송하는 데 약 30 분이 걸립니다.

scp를 사용하지만 때로는 중단됩니다. 전송이 오류로 실패하지 않고 계속 실행되지만 더 이상 데이터가 전송되지 않습니다.

따라서, "실패한 (failsafe)"업로드 솔루션을 찾고 있는데, 링크가 몇 분 동안 실패하거나 신뢰할 수없는 경우에도 작동하는 솔루션입니다.

내 생각은 :

  1. 작은 부분으로 큰 파일을 분할
  2. 시간 초과로 부품 업로드 및 실패한 경우 재시도

질문 :

  • 이 아이디어를 구현할 준비가 된 도구가 있습니까? (특별히 scp.가 필요하지 않은 것은 ftp 또는 다른 것입니다)
  • scp가 멈추는 것을 감지하는 방법이 있습니까? (즉, 여전히 실행 중이지만 데이터를 전송하지는 않습니다)

답변:


15

rsync를 사용하여 한 컴퓨터에서 다른 컴퓨터로 파일을 복사 할 수 있습니다. rsync는 ssh를 기본 전송으로 사용할 수 있습니다. 결합 rsync --partial과 같은 스크립트를 이 하나의 네트워크 장애시 다시 시도하고, 당신도 네트워크 오류의 얼굴에서 파일을 이동 할 수 있어야한다.

다른 방법은을 사용하여 로컬 컴퓨터에 원격 파일 시스템을 마운트 sshfs -o reconnect한 다음 파일을 cp로 설정하는 것입니다. sshfs / Linux가 나머지를 처리합니다. 오늘 내가 한 일부 테스트에 따르면 rsync보다 속도가 훨씬 느린 것 같습니다 .

마지막으로 두 시스템간에 VPN을 설정할 수 있습니다. 여기에는 가장 많은 작업이 필요하며 위의 솔루션 중 하나가 훨씬 쉬워 지지만 비정상적인 네트워크 연결 문제를 해결할 수 있습니다. 그리고 일부 사람들이 지적했듯이, 이것은 또한 벗겨 질 수 있습니다. 그것은 OpenVPN을가 그대로 VPN이 다시 설정 연결에 대한 매우 공격적 경우 작동하지만 위의 방법이 훨씬 낫다.


1
이 일을하기 위해, 당신은 사용해야합니다 --partial플래그 (또는 암시 뭔가 --partial처럼 --inplace) 전송이 중단 될 때마다, 그렇지 않은 부분 전송이 삭제됩니다하고 다시 시작해야합니다.
womble

Rsync는 확실히 갈 길입니다 ... 또는 창문을위한 robocopy.
Brian Adkins

VPN이 비정상 연결에 얼마나 도움이됩니까?
EEAA

VPN 소프트웨어 (예 : OpenVPN)는 VPN을 통해 실행되는 모든 응용 프로그램에 투명하게 백그라운드에서 자동으로 다시 연결할 수 있습니다.
Michael Hampton

@ErikA 내 생각은 정확하게-flakey 링크를 통한 VPN = 항상 다시 시작해야하는 flakey VPN입니다. 전송 소프트웨어가 파일 전송이 중단 된 곳에서 정확하게 파일 전송을 다시 시작할 수 있어야한다는 문제에 두 번째 레벨 만 추가합니다.
Fiasco Labs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.