ctrl-c로 rsync를 중단하려면`–partial` 또는`–append`를 사용해야합니까? 봅시다) 및 다시 시작합니다. 찾은 stackexchange /

내가 방해하려는 rsyncctrl-c이미 전송 된 데이터를 다시 할 필요없이 (의 절반 파일이 전송 된 후 가정 해 봅시다) 및 다시 시작합니다.

찾은 stackexchange / google 정보가 충돌하는 것 같습니다. 나는 일부는 use라고 말하고 --partial일부는 use라고 말합니다 --append. 나에게 그것은 둘 다 작동하는 것처럼 들린다.

내가 CTRL-C로 인터럽트 rsync를 원하는 경우에, 나는 사용해야 --partial--append?

두 가지 모두 효과가 있다면 언제 다른 것을 사용하는 것이 더 낫습니까?



답변

다시 시작하면 --partial충분합니다. 기존의 복사 된 데이터와 새 데이터를 병합하는 임시 파일을 만들고 --inplace싶지 않은 경우에 사용하십시오 ( rsync예 : rsync대상 폴더에서 임시 파일을 작성하는 데 권한 문제가있는 경우) .

--append부분적으로 복사 된 데이터가 여전히 소스와 동일하다는 것을 보장 할 수있는 경우 에만 사용 하십시오. (일반적으로 이것은 잘못된 최적화입니다.)


답변

  • --append 파일이 대상에 이미 존재한다고 가정하고 rsync가 이미 내용을 확인하지 않도록합니다 (하지만 아래 참조).
  • --partial rsync에게 부분적으로 전송 된 파일을 삭제하지 않도록 지시합니다.

당신은 또한 필요 --inplace합니다 --partial(로 암시됩니다 --append).

알고 보니 --inplace의미 실제로 --partial,이 이유는 --append충분하다 (그것이 의미하는 --inplace것을 의미한다 --partial). 그러나 --partial혼자서는 충분하지 않습니다. 필요 --inplace하지 않으면 rsync는 최종 파일을 업데이트하는 대신 임시 파일을 만듭니다.