rsync로 복원할 때 일부 이전 파일 유지

rsync로 복원할 때 일부 이전 파일 유지

나는 종종 rsync와 다음 명령을 사용하여 원격 서버에서 대용량 파일을 전송합니다.

rsync -rvhm \
    --progress \
    --size-only \
    --stats \
    --partial-dir=.rsync-partial \
    "user@server::module/some_path" "some_path"

some_path이렇게 하면 전송이 실패하더라도 나중에 다시 시작할 수 있으며 모든 부분 전송이 some_path/.rsync-partial.

전송이 재개되면 rsync를 먼저 확인하여 재개할 위치를 정확하게 결정하는 것이 좋습니다. 문제는 이 검사가 완료되면 일부 파일이복사.partial-rsync이력서 폴더 외부. 따라서 진행 중인 전송뿐만 아니라 부분 전송(다음 일시 중지 또는 전송이 완료되면 대체되거나 삭제됨)도 남습니다.

이는 다음과 같은 이유로 불편합니다.

  1. 목적지에 여유 공간이 많지 않습니다.
  2. 파일이 상당히 큽니다.
  3. 부분 전송이 "충분히" 진행된 경우 rsync가 먼저 복사를 시도하고 복원에 사용할 수 있는 공간이 충분하지 않다고 불평하기 때문에 복원하지 못할 수도 있습니다.
  4. 전송을 재개하기 위해 부분 파일의 복사본을 보관할 이유가 없습니다. 부분 파일 자체를 사용해야 합니다.

이 동작을 피할 수 있는 방법이 있습니까? 아니면 의도적으로 설계된 것입니까? 그렇다면 왜 이런 식으로 작동하기를 원합니까?

답변1

--inplace이러한 복사를 방지하기 위해 이 옵션을 결합할 수 있는 패치가 있지만 --partial-dir아직까지는 가능하지 않은 것 같습니다.

인용하다오류 13071자세한 내용은 설명을 참조하세요.

--inplace가 --partial-dir 또는 이를 암시하는 옵션(--delay-update)과 함께 사용되는 경우 내부 동작은 부분 디렉토리에서 발생하며 각 파일은 완료되면 최종 대상으로 이동됩니다. .

아쉽게도 현재까지 패치가 적용되지 않았습니다.

관련 정보