이 기사 에는 rsync
최소한 다음과 같은 유용한 제안이 있습니다 .
문제
를 사용 rsync --sparse works
하지만 불필요한 디스크 쓰기가 많이 발생합니다. 50GB 길이 (1GB 사용)에서 10 바이트를 변경하면 하나 또는 두 개의 블록 만 쓰게되므로 1GB가 쓰입니다. 이것은 느리고 디스크의 수명에 좋지 않습니다.
사용 rsync --inplace
일을하지만, 비 - 스파 스 파일을 만듭니다.
--sparse와 --inplace를 동시에 사용할 수 없습니다 :-( rsync에서는 허용되지 않습니다.
해결책
--inplace를 사용하여 기존 스파 스 파일을 업데이트하면 파일이 스파 스 상태로 유지되고 적은 수의 블록 만 작성됩니다. rsync --inplace가 스파 스가 아닌 파일을 만들 때만 가능합니다.
따라서 해결 방법은 파일이 아직 대상 시스템에없는 경우 소스 시스템의 모든 파일에 대해 대상 시스템에서 해당 길이의 빈 스파 스 파일을 작성하는 것입니다.
그런 다음 rsync --inplace는 의도 한대로 작동하여 스파 스 파일을 스파 스로 남겨두고 변경된 블록 만 디스크에 기록합니다.
따라서 올바르게 읽으면 먼저 대상에 빈 스파 스 파일을 만들고 싶습니다. 당신은 이것을 할 수 있습니다
truncate -s 3G filename
그런 다음 rsync --inplace
파일을 복사하는 데 사용할 수 있습니다 . 한 번만 필요합니다.
같은 기사에서 Virtsync 를 사용 하는 것이 좋습니다.
가상 머신 디스크 이미지 및 데이터베이스와 같은 대용량 파일의 내용을 동기화하기위한 49 달러짜리 상용 Linux 명령 줄 도구.
이 유형의 상황에 맞게 작성된 것으로 보이므로 기꺼이 지불하려는 경우 이것이 최선의 해결책 일 수 있습니다.