Ubuntu에서 하드 드라이브의 대용량 파일을 이동식 드라이브로 복사하고 싶습니다 rsync
. 다른 이유로 인해 단일 실행으로 작업을 완료할 수 없습니다. 그래서 rsync
마지막으로 멈춘 곳부터 이력서를 사용하여 파일을 복사하는 방법을 알아보려고 합니다 .
--partial
or 옵션을 사용해 보았지만 --inplace
or 와 함께 사용하면 마지막에 남은 것부터 시작하는 대신 with 또는 실제로 처음부터 시작한다는 --progress
것을 알았습니다 . 수동으로 일찍 중지 하고 수신된 파일의 크기를 확인한 결과도 확인되었습니다.rsync
--partial
--inplace
rsync
하지만 --append
rsync의 경우 지난번에 중단한 부분부터 시작됩니다.
온라인에서 읽으면서 혼란스러워요매뉴얼 페이지 --partial
, --inplace
, 는 --append
마지막 남은 콘텐츠부터 복사를 재개하는 것과 관련이 있는 것 같습니다. 누구든지 차이점을 설명할 수 있나요? 왜 복사를 재개하지 않으시겠습니까 --partial
? --inplace
복제를 재개하려면 이 옵션을 rsync
사용해야 합니까 ?--append
또한 일부 파일이 rsync에 mv
의해 또는 cp
rsync가 아닌 남겨진 경우 rsync --append
복사된 파일이 올바르게 복원됩니까?
답변1
rsync --append
중단된 복제를 재개하려면 매뉴얼 페이지 설명에서 다음을 사용해야 합니다 --append
.
이로 인해 rsync가 파일 끝에 데이터를 추가하여 파일을 업데이트합니다. 수신 측에 이미 존재하는 데이터는 송신 측의 파일 시작 부분과 동일하다고 가정합니다. [...] 힌트
--inplace
, [...]
이 옵션은 대상 파일의 내용을 --inplace
직접 씁니다(덮어쓰기).rsync
아니요 --inplace
, rsync
회의:
- 임시 이름으로 새 파일을 만들고,
- 업데이트된 내용을 복사하여
- 대상 파일과 교환하고 마지막으로
- 대상 파일의 이전 복사본을 삭제합니다.
일반 작동 모드는 주로 대상 파일을 열 수 있는 응용 프로그램과의 충돌뿐만 아니라 맨페이지에 적절하게 나열된 기타 사고를 방지합니다 rsync
.
1.-3단계에서 복사/업데이트 작업이 실패할 경우 주의하세요. 위에서는
rsync
임시 대상 파일이 삭제됩니다. 이 --partial
옵션은 이 동작을 비활성화하고 rsync
부분적으로 전송된 임시 파일을 대상 파일 시스템에 남겨 둡니다. 따라서 단일 파일 복사 작업을 재개하는 것은 또는 를 사용하여 첫 번째 작업을 호출하지 않는 한 큰 효과가 없습니다( rsync
동일한 효과가 있지만 모든 임시 파일이 특정 디렉터리에 생성되도록 지시함).--partial
--partial-dir
--partial
rsync
답변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
옵션은 위험하며 어떤 이유로 데이터가 일치하지 않으면 파일이 손상될 수 있습니다.