rsync
중단하고 ( ctrl-c
파일 전송의 절반 후에) 전송된 데이터를 다시 보낼 필요 없이 다시 시작하고 싶습니다 .
내가 찾은 stackexchange/google 정보가 충돌하는 것 같습니다. 나는 어떤 사람들은 use 라고 말하고 --partial
어떤 사람들은 use 라고 말하는 것을 발견했습니다 --append
. 나에게는 그들이 모두 작동할 수 있는 것처럼 들린다.
ctrl-c를 사용하여 rsync를 중단하려면 --partial
또는 을 사용해야 합니까 --append
?
둘 다 작동한다면 언제 다른 것보다 하나를 사용하는 것이 더 좋습니까?
답변1
재부팅 --partial
이면 충분합니다. 기존 복제된 데이터를 새 데이터와 병합하는 임시 파일을 만들고 --inplace
싶지 않은 경우 rsync
(예: rsync
대상 폴더에 임시 파일을 만드는 데 권한 문제가 발생하는 경우)를 사용합니다.
--append
부분적으로 복사된 데이터가 여전히 소스와 동일하다는 것을 보장할 수 있는 경우에만 사용하십시오. (종종 이것은 잘못된 최적화입니다.)
답변2
--append
파일이 대상에 이미 존재할 수 있다고 가정하면 rsync가 이미 존재하는 항목을 확인하지 않게 됩니다(아래 참조).--partial
부분적으로 전송된 파일을 삭제하지 않도록 rsync에 지시합니다.
--inplace
with 도 필요합니다 --partial
( 에 암시적으로 포함되어 있습니다 --append
).
--inplace
실제로는 을 암시하는 것으로 밝혀졌는데 --partial
, 이것이 바로 --append
충분한 이유입니다(을 --inplace
암시한다는 것을 암시합니다 --partial
). 하지만 --partial
그것만으로는 충분하지 않습니다. 그렇지 --inplace
않으면 rsync가 최종 파일을 업데이트하는 대신 임시 파일을 생성합니다.