리눅스 Rsync관련 질문있습니다.

tjsel981의 이미지

현재 대용량 파일을 Rsync를 통하여 전송을 하려는데, 10k정도의 크기만바껴도 전체다 복사해 덮어버리는 경향이있습니다. 이로인해 용량초과현상도 일어났습니다.

옵션은 rsync -avzc --partial--dir --append를 사용하였습니다.

append는 사용하면 tmp파일을 생성하지않는다하여서 사용하였습니다. (용량을 아끼기 위해)

어떤 옵션을 사용하여야 될까요 체크섬 또한 사용해봤지만 전체를 다복사해버립니다.

롤링해시를 사용하라고하는데 이것에대해서는 잘 모르겠습니다. 정보가 부족합니다. 직접 코딩을 해야하는것인가요? 아니면 다른 옵션이있을까요?

익명 사용자의 이미지

증분백업을 사용하면 될듯 한데유

Anti-Lock의 이미지

음.. 대용량 파일의 일부분만 수정이 되었을 경우, 바뀐부분만 전송해서 결국 전체 대용량 파일 내용이 동일해 지기를 원하시는것 같네요.
그런데 rsync 가 그걸 지원하나요? 'delta-transfer algorithm' 이라고 있긴한데... 그게 이 부분인지 잘 모르겠네요.
지원 되더라도...
대용량 파일중 초반부의 데이터 100 바이트가 1바이트로 바뀐 상황에서도 잘(?) 되는지 모르겠어요.
rsync delta-transfer algorithm 을 찾아봐야 하겠네요.

Anti-Lock의 이미지

찾아보니.. 이글이 검색되었는데..
https://rsync.samba.org/how-rsync-works.html
제가 이해하기로는, 임시파일을 만들어야 해당 기능이 동작 할수 있는듯 합니다.

그리고...
로컬파일은 기본적으로 전체복사가 이루어지나 봅니다.
https://superuser.com/questions/234273/why-doest-rsync-use-delta-transfer-for-local-files