답변:
Rsync에는 볼 대상과 대상에 복사 할 대상을 제어하는 여러 플래그가 있습니다. "아카이브"플래그 인 "-a"플래그가 가장 자주 사용되는데, 이는 아마도 당신이 원하는 것입니다. "-av"플래그와 함께 rsync를 실행하고 백업하려는 데이터에 대해 첫 번째 실행을 수행하십시오. 다음에 파일을 실행하면 파일의 블록 체크섬을 수행하고 기존 파일에서 수정 된 부분 만 복사하고 새 파일을 복사하고 더 이상 존재하지 않는 파일을 제거합니다. "-a"옵션 섹션을 확인하십시오 :
http://linux.die.net/man/1/rsync
첫 번째 실행은 BandWidth를 많이 사용하며 다음 실행은 프로세서를 많이 사용하지만 초기 실행에 비해 대역폭을 거의 사용하지 않습니다. 데이터 세트에 대해 많은 이탈이없는 한.
Rsync는 소스 또는 대상 디렉토리에 파일이있는 방법을 신경 쓰지 않으며 다른 것을 수행하기 위해 플래그를 추가하지 않는 한 두 파일 사이의 변경 사항을 복사합니다.
변경된 내용을 기록하려면 "--log-file"옵션을 사용할 수 있습니다. 이 같은 모든 것이 당신이 원하는 것 같습니다.
rsync -av --log-file=/var/log/rsync.log -e "ssh -l backup-user" backup-user@source-machine::module /nas01/backups
rsync는 '증분'을 수행하지 않으며 '차등'과 비슷합니다. 변경 사항을 전송하지 않으며 (이전 실행에 대한 지식이 있다고 가정) 차이를 전송 합니다 (소스를 대상 파일과 비교하여)
프로세스 단순화 :
어쩌면 나는 독창적이지만 증분 백업은 전체 백업이 먼저 있다는 것을 의미합니다. 그런 다음 해당 백업 이후에 파일 백업이 변경되었습니다. 그런 다음 이전 백업 이후에 백업의 다른 백업이 변경되었습니다. 따라서 전체 백업과 그 이후의 모든 증분 백업이 필요합니다.
따라서 아카이브 모드를 사용하는 것만 증분 백업이 아닙니다 . 차이가 중요하다고 생각합니다 . 파일이 변경되기 전에 시간을 거슬러 올라갈 수 없기 때문 입니다.
실제 증분 백업을 수행하려면 같은 옵션을 사용하십시오 --backup-dir
. 여기에 예가 있습니다 .
실제 질문이 "rsync를 통해 증분 백업을 수행하고 싶습니다"인 경우 몇 가지 옵션을 사용할 수 있습니다. Dirvish를 사용합니다.
스냅 샷을 제공하므로 복원이 쉽습니다. 하드 링크를 사용하여 파일이 동일한 공간을 절약하면서 완벽한 스냅 샷을 제공합니다. 내부적으로 rsync의 --link-dest 옵션을 사용합니다.
--link-dest=DIR hardlink to files in DIR when unchanged
rsync를 사용하기 때문에 변경이 매우 작은 네트워크 대역폭 (및 시간)도 절약됩니다. 파일이 많고 링크 속도가 느린 경우 로컬에서 생성 된 dirvish 이미지 를 tar 및 sneakernet하는 경우에도 작동합니다 .