scp를 사용해 큰 파일을 전송하다가 인터넷이 끊기거나 세션이 종료되면 난감하죠.
예를 들어, 2GB 파일을 전송 중 1.3GB까지 전송된 후 중단된 경우 다시 scp를 실행하면 처음부터 다시 전송합니다.
rsync
를 별도 옵션 없이 사용하는 경우 파일 전송이 중간에 중단되면 전송 중이던 파일이 그대로 남긴 하지만, 이어서 전송하지 않고 처음부터 덮어씁니다.
하지만 rsync
의 --append-verify
옵션을 사용하면 중단된 부분부터 이어서 전송할 수 있습니다. 😉 또한 전송 도중 중단돼도 불완전한 파일이 삭제되지 않고 그대로 남아 이어받기가 가능합니다.
rsync --append-verify
로 이어서 전송
다음 명령어로 파일을 이어서 전송할 수 있습니다.
rsync -a --info=progress2 --append-verify /로컬/파일 user@remote:/원격/경로/
--append-verify
: 중단된 파일을 이어받은 후 기존 전송분의 무결성까지 검증--info=progress2
: 전체 전송 진행 상황을 상세히 표시-a
: 파일 속성을 유지 (archive mode)
참고: --append
옵션도 있지만, 이 경우 무결성 검증 없이 이어서 전송하므로 전송 안정성을 위해 --append-verify
사용을 권장합니다.
결론
scp, rsync는 기본적으로 중단된 파일 전송을 이어받지 않습니다.
rsync
는 전송 도중 중단되면 불완전한 파일이 남을 수 있으며, 기본 설정에서는 다시 전송 시 처음부터 덮어씁니다.
그러나 --append-verify
옵션을 사용하면 이미 전송된 부분을 유지하면서 중단된 지점부터 이어서 전송할 수 있습니다.
댓글 남기기