rsync를 통해 개별 파일 전송 재개

rsync를 통해 개별 파일 전송 재개

Ubuntu에서 하드 드라이브의 대용량 파일을 이동식 드라이브로 복사하고 싶습니다 rsync. 다른 이유로 인해 단일 실행으로 작업을 완료할 수 없습니다. 그래서 rsync마지막으로 멈춘 곳부터 이력서를 사용하여 파일을 복사하는 방법을 알아보려고 합니다 .

--partialor 옵션을 사용해 보았지만 --inplaceor 와 함께 사용하면 마지막에 남은 것부터 시작하는 대신 with 또는 실제로 처음부터 시작한다는 --progress것을 알았습니다 . 수동으로 일찍 중지 하고 수신된 파일의 크기를 확인한 결과도 확인되었습니다.rsync--partial--inplacersync

하지만 --appendrsync의 경우 지난번에 중단한 부분부터 시작됩니다.

온라인에서 읽으면서 혼란스러워요매뉴얼 페이지 --partial, --inplace, 는 --append마지막 남은 콘텐츠부터 복사를 재개하는 것과 관련이 있는 것 같습니다. 누구든지 차이점을 설명할 수 있나요? 왜 복사를 재개하지 않으시겠습니까 --partial? --inplace복제를 재개하려면 이 옵션을 rsync사용해야 합니까 ?--append

또한 일부 파일이 rsync에 mv의해 또는 cprsync가 아닌 남겨진 경우 rsync --append복사된 파일이 올바르게 복원됩니까?

답변1

rsync --append중단된 복제를 재개하려면 매뉴얼 페이지 설명에서 다음을 사용해야 합니다 --append.

이로 인해 rsync가 파일 끝에 데이터를 추가하여 파일을 업데이트합니다. 수신 측에 이미 존재하는 데이터는 송신 측의 파일 시작 부분과 동일하다고 가정합니다. [...] 힌트 --inplace, [...]

이 옵션은 대상 파일의 내용을 --inplace직접 씁니다(덮어쓰기).rsync아니요 --inplace, rsync회의:

  1. 임시 이름으로 새 파일을 만들고,
  2. 업데이트된 내용을 복사하여
  3. 대상 파일과 교환하고 마지막으로
  4. 대상 파일의 이전 복사본을 삭제합니다.

일반 작동 모드는 주로 대상 파일을 열 수 있는 응용 프로그램과의 충돌뿐만 아니라 맨페이지에 적절하게 나열된 기타 사고를 방지합니다 rsync.

1.-3단계에서 복사/업데이트 작업이 실패할 경우 주의하세요. 위에서는 rsync임시 대상 파일이 삭제됩니다. 이 --partial 옵션은 이 동작을 비활성화하고 rsync부분적으로 전송된 임시 파일을 대상 파일 시스템에 남겨 둡니다. 따라서 단일 파일 복사 작업을 재개하는 것은 또는 를 사용하여 첫 번째 작업을 호출하지 않는 한 큰 효과가 없습니다( rsync동일한 효과가 있지만 모든 임시 파일이 특정 디렉터리에 생성되도록 지시함).--partial--partial-dir--partialrsync

답변2

이것은 을 --append의미하며 --inplace, 이것 자체는 을 의미합니다 --partial.

  • 을 사용하면 부분 전송을 유지하고 후속 시도에서 복구 --partial해야 합니다 .rsync

  • 이를 사용하면 일부 파일을 보관하고 다음에 복원 --append해야 합니다 . rsync전송 후에는 rsync전송된 데이터의 체크섬만 확인해야 합니다 .

  • --append-verify이전 전송에서 전송된 부분을 포함하여 전체 파일을 체크섬 확인에 포함합니다.

  • 체크섬 검증이 실패 --append하거나 실패 하면 --append-verify파일이 완전히 재전송됩니다(--inplace

mv복원 하거나 cp작동 할 수 있어야 rsync하지만 마음의 평화를 위해 이 옵션을 사용하는 것이 좋습니다 --append-verify.

복사하려면 --append원인을 사용하세요.rsync오직이러한 파일은 타임스탬프에 관계없이 발신자보다 수신자에서 크기가 작거나 수신자에 존재하지 않습니다. 이 옵션을 통한 문서화:

파일을 전송해야 하는데 수신자의 파일 크기가 발신자의 파일 크기와 같거나 길면 파일을 건너뜁니다.

자세한 내용은매뉴얼 페이지

답변3

David Schwartz가 옳습니다. --partial(또는 더 나은 방법은 -P) 정확히 원하는 것을 수행합니다. 네트워크를 통해 약 8g에서 멈춘 37G 파일에서 이것을 확인했습니다. rsync는 부분 파일의 첫 번째 부분을 빠르게 스캔한 다음(진행률이 표시됨 -P) 부분 파일의 끝까지 전송을 재개합니다.

답변4

당신이 올바르게한다면 --partial그것은 당신이 원하는 것입니다. 복사해야 하는 파일 데이터 블록 목록의 시작 부분에서 항상 시작되므로 처음부터 시작하는 것처럼 보입니다. 이 --append옵션은 위험하며 어떤 이유로 데이터가 일치하지 않으면 파일이 손상될 수 있습니다.

관련 정보