
집에 인터넷이 까다로워서 언제든지 rsync 연결이 끊어질 수 있으며 대용량 파일을 처음부터 다시 시작해야 합니다.
1GB 파일을 50MB 단위로 분할하여 대상으로 보낸 다음 결합하는 방법이 있습니까? 그렇게 하면 파일이 잘려도 상대방에 일정 비율이 저장됩니다.
답변1
이 분이 이미 설명을 잘 해주셨네요. https://unix.stackexchange.com/a/165417/446381
따라서 목표를 달성하려면 --append-verify
rsync와 함께 플래그를 사용하는 것입니다.
--partial
나에게는 약간 중복되는 것 같습니다 . 숨겨진 파일로 전송되고 나중에 부분 파일로 이름이 변경됩니다. 나는 마음에 들지 않습니다. 왜냐하면 control-C가 이 이름 변경 프로세스를 방해할 수 있기 때문입니다.
답변2
짧은 버전: 중단된 부분부터 다시 시작할 때 rsync를 더 좋게 만들려면 플래그를 추가하세요 --inplace
. 대용량 파일을 분할할 필요가 없습니다.
더 긴 버전:
파일을 더 작은 파일로 나누어 각각 전송하는 것이 좋습니다. 그런데 당신은 너무 열심히 일하고 있어요. 내부적으로 rsync는 파일을 64k 청크로 나눕니다. rsync
원하는 대로 수행할 수 있는 방법이 있습니다 . --inplace
플래그를 추가하는 것입니다.
현재 겪고 있는 더 큰 문제를 살펴보겠습니다. 인터넷 연결이 불안정하고 대용량 파일을 전송할 수 있는 방법이 필요합니다.
--inplace
플래그(를 의미함 )를 사용하면 --partial
원하는 결과를 얻을 수 있습니다. 전송이 중단될 때마다 rsync
파일은 다음에 실행할 때(동일하게) 중단된 부분부터 계속 진행하는 것이 효율적인 상태로 유지됩니다 rsync
.
--inplace
모든 것이 복사될 때까지 rsync 명령을 여러 번 사용 하고 실행하세요.
매우 편집증적이라면 모든 파일이 성공적으로 복사된 후 --checksum
( -c
) 플래그를 추가하여 한 번 더 수행하십시오. 이렇게 하면 건너뛸 수 있는 파일을 알기 위해 파일의 타임스탬프를 사용하는 대신 매우 느린 바이트 단위 재검사가 수행됩니다. 모든 파일이 이미 제대로 복사되었으므로 더 이상 수행할 작업이 없습니다. 그렇긴 하지만, 나는 가끔 마음의 평화를 얻기 위해 이렇게 합니다. 초기 실행 중에는 이 플래그를 사용하지 않는 것이 좋습니다. 왜냐하면 모든 파일의 모든 블록을 다시 읽어서 매우 느리고 낭비가 되기 때문입니다.