다른 전송/다운로드 방법 후에 rsync를 사용하여 전송을 재개할 수 있습니까?

다른 전송/다운로드 방법 후에 rsync를 사용하여 전송을 재개할 수 있습니까?

그러면 기본적으로 rsync를 사용하여 원래 다른 프로그램(wget, 컬, scp, ftp...)에 의해 시작된 파일/디렉토리의 전송을 재개할 수 있습니까?

답변1

예. 그러나 최적의 성능을 위해서는 사용하는 옵션에 주의를 기울여야 합니다.

파일 다운로드 시, 파일 수정 시간을 유지해 주시기 바랍니다. 파일 동기화 유틸리티는 일반적으로 소스 파일과 대상 파일의 크기와 수정 시간이 동일할 경우 해당 파일의 내용이 동일하다고 가정합니다. 이렇게 하면 여러 파일의 동기화 속도가 크게 향상됩니다. 수정 시간이 다른 경우 rsync는 양측의 내용을 읽어 파일 전송 여부를 결정해야 합니다.

  • 와 함께 ( )를 wget사용합니다 .-N--timestamping
  • 와 함께 ( )를 curl사용합니다 .-R--remote-time
  • cp, , (또는 GNU의 경우 ) 와 함께 scp사용하세요 .-p-acp
  • 와 함께 또는 을 rsync사용합니다 . ( 특정한 경우에 왜 필요하지 않은지 이해하지 못하는 한 항상 사용해야 합니다.)-t-arsync -a
  • FTP 프로그램은 일반적으로 타임스탬프를 복사합니다.
  • options 를 전달하여 소스 파일과 대상 파일이 동일하다고 가정하도록 rsync에 지시할 수 있습니다 --size-only. 파일을 수정하는 유일한 방법이 마지막에 데이터를 추가하여 파일을 늘리는 것이라면 괜찮습니다. 이 경우 해당 --append옵션도 전달해야 합니다. 그러나 파일을 다른 방법으로 수정할 수 있다면 --size-only안전하지 않습니다. 파일 크기가 변경되지 않으면 수정 내용을 놓칠 수 있습니다.

일반을 사용하는 경우 rsync -a:

  • 대상에 존재하지 않는 파일은 단순히 복사됩니다.
  • 대상에 존재하지만 타임스탬프나 크기가 다른 파일을 복사합니다. Rsync는 델타 전송 알고리즘을 통해 전송되는 데이터 양을 최소화하려고 시도하여 파일에 동일한 부분이 있는 경우 전송을 저장합니다.
  • 대상에 존재하며 타임스탬프와 크기가 동일한 파일은 건너뜁니다.

양쪽의 파일이 동일하거나 잘린 복사본이라고 확신하는 경우 이 --append옵션을 전달할 수 있습니다. 이 옵션을 사용하면 rsync는 대상의 모든 파일이 부분 또는 전체 복사본이라고 가정하고 파일의 시작 부분이 양쪽에서 동일한지 확인하지 않고 누락된 데이터를 더 짧은 파일에 직접 추가합니다. 이는 더 빠르지만 더 취약합니다.

관련 정보