rsync를 사용할 때 이동된 폴더를 불필요하게 삭제하고 다시 복사하는 것을 방지하는 방법은 무엇입니까? [복사]

rsync를 사용할 때 이동된 폴더를 불필요하게 삭제하고 다시 복사하는 것을 방지하는 방법은 무엇입니까? [복사]

rsync는 이동된 폴더를 감지할 수 없다는 내용을 읽었습니다. 해당 폴더를 삭제하고 새 폴더 구조에 다시 복사하면 됩니다.

마스터 복사본에 대한 유일한 변경 사항은 원본 파일을 포함할 최상위 폴더를 도입하는 것뿐이었습니다. 즉, 다음과 같습니다.

folder1
folder2
folder3

입력하다

top\folder1
top\folder2
top\folder3

백업 복사본에서 동일한 작업을 수동으로 수행하고 후속 rsync 호출이 올바르게 작동하도록 두 최상위 폴더의 수정 시간을 어떻게든 수정할 수 있는지 궁금합니다.

이것이 작동할까요? 그렇다면 어떻게 해야 할까요? 그렇지 않다면 이 문제를 해결하기 위해 권장되는 방법은 무엇입니까? 아니면 먼저 다른 매개변수를 사용하여 rsync를 실행해야 합니까? ( rsync -a --delete /mnt/SRC /mnt/DEST현재 사용하고 있는 것 대신 )

이 디렉토리는 상당히 크기 때문에 불필요한 재복사를 가능한 한 피하고 싶습니다.

답변1

예, 백업 복사본을 수동으로 이동한 다음 rsync를 실행할 수 있습니다. 수정 시간을 변경할 필요는 없습니다. rsync를 사용하세요.

이와 같이 이름을 바꾸는 것은 자동으로 감지하기 어렵기 때문에 수동으로 복사하는 것이 일반적인 해결 방법입니다.

답변2

또한 원하는 경우 파일 수정 시간을 수동으로 업데이트할 필요가 없습니다.

새 디렉토리 구조 미러링에 특별히 신경 쓰지 않고 파일만 필요한 경우 rsync --(options) /mnt/SRC/newdir/ /mnt/DEST를 사용할 수도 있습니다. SRC 측면에 있는 추가 슬래시를 참고하세요. 그렇지 않으면 모든 내용을 다시 복사하게 됩니다.

답변3

제안된 솔루션여기효과가 있었습니다:

rsync -vrt --size-only /src/ /dest/

--size-only 옵션을 사용하면 rsync타임스탬프가 무시되고, -t(수정 시간 유지)를 사용하면 rsync대상 복제본에서 일관되지 않은 수정 시간이 수정됩니다.

관련 정보