나는 멀리 있는 다른 폴더와 정기적으로 동기화되는 대용량 폴더를 유지 관리합니다.
때로는 로컬 폴더의 이름을 변경한 다음 다음에 rsync
원격 폴더로 이동할 때 실제로 파일 이름이 변경되었다는 정보만 보내야 하는데도 전체 파일을 보내야 합니다.
rsync
이름/경로 변경 사항을 확인할 수 있는 방법이 있습니까 ?
나는 여기를 살펴보았다:http://linux.die.net/man/1/rsync, 그러나 유사한 항목을 찾을 수 없습니다.
답변1
로컬 서버와 원격 서버 모두 하드 링크를 만드는 기능을 지원하는 경우 이 방법을 사용하여 원하는 것을 얻을 수 있습니다. 이 블로그 게시물에서는 다음과 같은 제목으로 이 접근 방식을 설명합니다.Rsync를 사용하여 파일 이동 및 이름 변경 감지.
일반 단계
일반 동기화
$ rsync -avHP --delete-after ~/family/Photos remotebox:backups
이제 몇 가지 사항을 변경해 보세요.
$ cd ~/family $ cp -rlp Photos Photos-work
cp 스위치가 다음과 같은 경우 매우 빠르게 완료됩니다. 디렉토리 복사 *R* 재귀적 + 복사 대신 *L*ink 파일 + *P* 보존 모드, 소유권 및 타임스탬프(디렉터리와 같이 하드 링크되지 않은 콘텐츠의 경우)
Photos-work 디렉토리 재구성: 모든 파일의 이름을 바꾸고, 이동하고, 추가하고 삭제할 수 있습니다. 그러나 Photos의 트리를 건드리지 마십시오. 해당 디렉토리(두 시스템 모두에서 동일한 경로 세트 포함)를 사용하면 rsync가 원격 시스템의 Photos-work에서 복제할 데이터를 빠르게 찾을 수 있습니다.
재구성이 완료되면 다음 명령을 실행하십시오.
$ rsync -avHP --delete-after --no-inc-recursive ~/family/Photos ~/family/Photos-work remotebox:backups
두 트리를 동시에 전송하고 증분 재귀를 끄면 rsync는 항목을 전송하기 전에 모든 하드 링크를 수집합니다. 이제 원격 컴퓨터에서 생성된 사진을 몇 초 만에 재구성할 수 있습니다. 다음으로 다음을 수행합니다.
$ mv Photos Photos-OLD $ mv Photos-work Photos
로컬 및 원격 컴퓨터에서 이 작업을 수행할 수 있습니다. 원하는 만큼 OLD 디렉토리를 유지할 수 있으며 차지하는 공간은 일반적으로 무시할 수 있습니다.
답변2
조화당신이 원하는 것을 할 가능성이 raw보다 높습니다 rsync
. 이 프로토콜을 사용하여 rsync
파일을 동기화합니다.