ctrl-c를 사용하여 rsync를 중단하려면 `--partial` 또는 `--append`를 사용해야 합니까?

ctrl-c를 사용하여 rsync를 중단하려면 `--partial` 또는 `--append`를 사용해야 합니까?

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에 지시합니다.

--inplacewith 도 필요합니다 --partial( 에 암시적으로 포함되어 있습니다 --append).

--inplace실제로는 을 암시하는 것으로 밝혀졌는데 --partial, 이것이 바로 --append충분한 이유입니다(을 --inplace암시한다는 것을 암시합니다 --partial). 하지만 --partial그것만으로는 충분하지 않습니다. 그렇지 --inplace않으면 rsync가 최종 파일을 업데이트하는 대신 임시 파일을 생성합니다.

관련 정보