여러 폴더를 부분적으로 변경된 파일과 동기화

여러 폴더를 부분적으로 변경된 파일과 동기화

원격 컴퓨터에 다음 디렉터리 구조가 있습니다.

 ALLLibs/LibA/LibA.1
 ALLLibs/LibA/LibA.2
 ALLLibs/LibB/LibB.1
 ALLLibs/LibB/LibB.4

LibA.1과 LibA.2는 디렉터리 버전입니다. 이 두 폴더의 내용은 거의 동일할 수 있으며 이러한 폴더가 더 있을 수 있습니다.

동기화하고 싶어요모든 도서관네트워크가 너무 느린 다른 컴퓨터로. 사용할 수 있는 유일한 옵션은 웹을 통해서입니다.

파일 동기화에 가장 적합하다는 것을 알고 있지만 rsync파일을 1-1로 매핑하고 동기화한다고 생각합니다.

내가 가진 한 가지 사용 사례는 ALLLibs/LibA/LibA.1내 다른 컴퓨터에서 이미 동기화된 다음 ALLLibs/LibA/LibA.2원격으로 생성된 경우 이전 저장소의 패치를 통해 동기화하고 싶습니다.

답변1

-z네트워크를 통한 압축에는 rsync를 사용해야 합니다 . 고려해야 할 다른 옵션은 -H(하드 링크) 및 -S(스파스 파일)입니다.

rsync를 실행하기 전에 -nv업데이트되지 않지만 업데이트될 파일을 표시하는 버전을 수행하십시오.

파일 목록에서 지식을 활용하여 누락된 파일이 이미 존재할 수 있는 원격 장치의 위치를 ​​일치시킨 다음 원격 장치에 로그인하여 먼저 파일을 복사하십시오.

예를 들어 -nv다음과 같은 필수 업데이트가 표시될 수 있습니다.

ALLLibs/LibA/LibA.2
ALLLibs/LibA/LibA.2/file1

그러나 그것이 무엇인지 알고 있다면 ../LibA.1/file1LibA.1에서 LibA.2를 생성하고 채우는 스크립트를 작성한 다음 원격으로 실행하십시오. 이것 처럼 간단할 수 있습니다 cp -rp. 실제 rsync를 수행하면 유사한 파일이 이미 존재하며 변경된 파일이 업데이트됩니다. --delete존재해서는 안 되는 파일을 삭제 해야 합니다 (이 옵션에 주의하세요: -n먼저 테스트하세요).

원격으로 명령을 복사할 때는 주의하십시오. 파일을 복사하면 일반적으로 새 파일에 새 타임스탬프가 설정됩니다. rsync는 기본적으로 크기와 타임스탬프를 비교합니다. 서로 다른 경우 파일이 업데이트됩니다. rsync 옵션을 사용하여 -c각 파일의 체크섬을 확인하여 파일이 다른지 확인하세요.

관련 정보