rsync가 압축/암호화된 파일에 대해 의미 있는 양의 데이터 전송을 절약합니까?

rsync가 압축/암호화된 파일에 대해 의미 있는 양의 데이터 전송을 절약합니까?

rsync는 동기화를 위해 의미 있는 양의 데이터 전송을 저장합니까?

1) zip 파일,

2) ASCII 장갑 GPG 암호화 파일 및

3) Mathematica .mx 파일,

각각 ?

일반적인 시나리오는 이전 복사본이 이미 있고 압축 및/또는 암호화된 파일이 동기화할 유일한 파일이 아니라는 것입니다. 즉, 압축되지 않은 파일과 암호화되지 않은 파일이 존재할 수 있습니다.

답변1

암호화되거나 압축된 파일의 문제점은 데이터에서 1바이트만 수정되더라도 변경된 데이터 바이트뿐만 아니라 나머지 파일 내용도 모두 다르다는 점입니다.

이는 데이터 전송을 줄이기 위해 rsync에서 사용하는 한 가지 전략, 즉 전체 파일이 아닌 파일의 변경된 섹션만 전송하는 전략을 무효화합니다.

따라서 디스크에 공간이 필요하지 않는 한 데이터를 압축하지 마십시오(이 경우 rsync와 같은 애플리케이션에 투명하므로 디스크 기반 압축을 사용하십시오).

컴퓨터(또는 디스크)를 도난당하거나 분실하는 경우 데이터의 개인정보를 보호해야 하는 경우가 아니면 데이터를 암호화하지 마세요. (데이터, 특히 암호화 키나 복구 키의 백업을 보관하세요.) 다시 말하지만, 전체 디스크 암호화는 rsync 성능에 최소한으로 해를 끼칠 가능성이 높습니다(그러나 하드 디스크에 오류가 발생하고 데이터 백업을 사용할 수 없거나 백업하지 않고 OS를 다시 설치하는 경우 치명적인 데이터 손실로 이어질 가능성이 가장 높습니다). 다른 데이터 디스크/파티션의 복구 키)

위의 내용은 압축되지 않은/암호화되지 않은 관련 파일(상당수의)이 때때로 일종의 편집이나 추가를 통해 부분적으로 변경될 가능성이 있는 반면 파일의 데이터 대부분은 변경되지 않은 상태로 유지된다고 가정합니다.

답변2

하나의 파일만 재동기화하고 해당 파일이 암호화되거나 압축된 경우, 절약할 수 있는 유일한 대역폭은 변경되지 않은 경우 파일을 전혀 전송할 필요가 없다는 것입니다.

그러나 디렉토리가 ZIP, JPEG 또는 GPG 파일로 가득 찬 경우 rsync는 여전히 변경된 파일만 전송하며 새 파일만 쉽게 전송할 수 있는 좋은 방법입니다.

참고: 가능할 때마다 압축되지 않은 데이터를 재동기화한 다음 필요한 경우 링크 양쪽에 저장하기 위해 압축하는 것이 유용하다고 생각합니다. 이러한 방식으로 전송 대역폭을 절약할 수 있습니다. 즉:

mkdir /tmp/torsync
cd /tmp/torsync
unzip /home/me/somefile.zip
rsync -avz . remote:/tmp/somefile
ssh remote 'zip -r somefile.zip /tmp/somefile'

물론 YMMV.

OT: 백업 옵션을 사용하면 대역폭을 절약하지 못하는 경우에도 rsync가 유용하다고 생각합니다. 교체된 파일의 백업 복사본을 생성하여 기록 복사본을 쉽게 검색할 수 있기 때문입니다.

후속 조치: 이는 압축이나 암호화가 관련된 모든 형식에 적용되지만 Mathematica 사용자에게는 익숙하지 않습니다.

관련 정보