rsync는 상태 비저장인가요?

rsync는 상태 비저장인가요?

백업을 한다고 가정해 보겠습니다(2TB 및 500,000개 파일).

rsync -az /home/me/ [email protected]:/backup/home/me/   

질문:

  • 대상에서 먼저 다운로드합니까?파일 목록(+해시)전송해야 할 내용을 계산할 수 있으려면 대상에 이미 존재합니까?

    그렇다면 이 다운로드 크기는 500,000개 파일에 대해 얼마나 클 수 있습니까? 파일당 최소 100바이트(파일 이름 + 해시), 즉 최소 50MB(파일이 더 작은 단위로 분할되기 때문에)인가요?

  • 무국적 인가요 rsync? 다음 중 어느 것이 맞나요?

    1. 동기화가 성공하면 데이터베이스가 로컬이나 원격 컴퓨터에 보관되지 않습니다. 1시간 후에 다른 동기화를 다시 실행하면 모든 작업이 처음부터 다시 수행됩니다(해싱, 대상에 이미 있는 파일 목록 다시 다운로드, 등.)

    또는

    1. 동기화가 성공하면 데이터베이스가 해시 등을 사용하여 로컬 및 원격 서버에 모두 유지되므로 다음 동기화가 더 빨라집니다(더 이상 모든 것을 다시 해시할 필요가 없음).

    ?

답변1

Rsync는 상태 비저장입니다. 다시 실행할 때마다 소스와 대상에서 파일을 다시 평가하여 전송할 항목을 결정합니다.

그러나 -c( --checksum) 옵션이 없으면 rsync는 체크섬을 계산하지 않으며 를 사용하는 경우 소유자, 그룹 및 모드도 비교합니다 -a. rsync 명령이 수행해야 하는 파일 시스템 작업은 를 실행하는 것과 거의 동일합니다 find /home/me -ls.

이 옵션 을 사용하면 --stats전송되는 데이터 양에 대한 유용한 정보를 얻을 수 있습니다. 여기에는 "전송된 총 바이트 수" 필드가 포함됩니다. 로 rsync를 실행할 수 -n --stats있으며 이 필드는 파일 목록의 크기를 알려줍니다. ("파일 목록 크기"도 보고되었지만 어떤 이유로 인해 0만 보고되었습니다.) rsync는 각 파일의 전체 경로를 보내지 않으므로 파일 목록이 100바이트보다 훨씬 작을 수 있습니다. 파일당.

당신은 또한에 관심이있을 수 있습니다Rsync 작동 방식: 실제 개요.

관련 정보