백업을 한다고 가정해 보겠습니다(2TB 및 500,000개 파일).
rsync -az /home/me/ [email protected]:/backup/home/me/
질문:
대상에서 먼저 다운로드합니까?파일 목록(+해시)전송해야 할 내용을 계산할 수 있으려면 대상에 이미 존재합니까?
그렇다면 이 다운로드 크기는 500,000개 파일에 대해 얼마나 클 수 있습니까? 파일당 최소 100바이트(파일 이름 + 해시), 즉 최소 50MB(파일이 더 작은 단위로 분할되기 때문에)인가요?
무국적 인가요
rsync
? 다음 중 어느 것이 맞나요?- 동기화가 성공하면 데이터베이스가 로컬이나 원격 컴퓨터에 보관되지 않습니다. 1시간 후에 다른 동기화를 다시 실행하면 모든 작업이 처음부터 다시 수행됩니다(해싱, 대상에 이미 있는 파일 목록 다시 다운로드, 등.)
또는
- 동기화가 성공하면 데이터베이스가 해시 등을 사용하여 로컬 및 원격 서버에 모두 유지되므로 다음 동기화가 더 빨라집니다(더 이상 모든 것을 다시 해시할 필요가 없음).
?
답변1
Rsync는 상태 비저장입니다. 다시 실행할 때마다 소스와 대상에서 파일을 다시 평가하여 전송할 항목을 결정합니다.
그러나 -c
( --checksum
) 옵션이 없으면 rsync는 체크섬을 계산하지 않으며 를 사용하는 경우 소유자, 그룹 및 모드도 비교합니다 -a
. rsync 명령이 수행해야 하는 파일 시스템 작업은 를 실행하는 것과 거의 동일합니다 find /home/me -ls
.
이 옵션 을 사용하면 --stats
전송되는 데이터 양에 대한 유용한 정보를 얻을 수 있습니다. 여기에는 "전송된 총 바이트 수" 필드가 포함됩니다. 로 rsync를 실행할 수 -n --stats
있으며 이 필드는 파일 목록의 크기를 알려줍니다. ("파일 목록 크기"도 보고되었지만 어떤 이유로 인해 0만 보고되었습니다.) rsync는 각 파일의 전체 경로를 보내지 않으므로 파일 목록이 100바이트보다 훨씬 작을 수 있습니다. 파일당.
당신은 또한에 관심이있을 수 있습니다Rsync 작동 방식: 실제 개요.