파일 세트(각각 몇 GB 크기)가 있고 각 파일이 매일 조금씩 변경되는 경우(끝에 추가된 정보가 아닌 임의의 위치에서) 어떻게 효율적으로 복사합니까? 즉, 전체 파일이 아닌 변경된 부분만 업데이트된다는 의미입니다. 이는 여기의 몇 Kb와 저기의 몇 GB 사이의 차이를 복사하는 것을 의미합니다.
답변1
이것동기화프로그램이 바로 그 일을 합니다. 매뉴얼 페이지에서:
원본 파일과 대상에 있는 기존 파일의 차이만 전송하여 네트워크로 전송되는 데이터의 양을 줄이는 증분 전송 알고리즘으로 알려져 있습니다. Rsync는 백업 및 미러링에 널리 사용되며 일상적인 사용을 위한 향상된 복사 명령으로 사용됩니다.
답변2
최신 중복 제거 백업 프로그램이 필요할 수 있습니다. 확인하다보그 백업.
이렇게 하면 대용량 파일의 각 버전을 여러 번 백업하지만 서로 다른 버전 간에 공통 콘텐츠를 공유하므로 특정 버전의 대용량 파일에서 사용하는 총 공간은 단일 버전의 총 디스크 공간보다 약간 더 큽니다. 버전은 서로 약간만 다르다고 가정합니다.
답변3
어떤 방식으로든 IO 바인딩된 경우 BTRFS 또는 ZFS와 같이 증분 백업을 직접 지원하는 파일 시스템을 사용하십시오.찾다rsync
무엇을 해야 하는지 등 문서의 차이 .
사용 속도 rsync
가 느리고 IO 집약적입니다.
파일에 대한 변경 사항을 작성하는 애플리케이션이 IO 바인딩된 경우 해당 사용량이 rsync
애플리케이션에서 많은 IO 주기를 차지하게 되므로 파일이 존재하게 됩니다. 백업 프로세스 또는 시스템이 IO 바인딩된 경우 rsync
IO 주기는 사용 가능한 백업 대역폭에서 소비됩니다.
Google의 "rsync가 느립니다"입니다. 예를 들어: nfs-share에서 로컬 디렉터리로 파일을 복사할 때 rsync가 cp에 비해 매우 느립니다(8~10배).