rsync를 사용하여 전체 차등 백업을 수행하는 가장 효율적이고 안전한 방법

rsync를 사용하여 전체 차등 백업을 수행하는 가장 효율적이고 안전한 방법

나는 내 Linux 상자(서버가 아님)를 전체 백업하고 언제든지 모든 것을 복원할 수 있는 방법을 찾기 위해 온라인으로 검색했습니다.

각 스레드에서 가장 많이 연결된 가이드부터 시작했는데,http://www.mikerubel.org/computers/rsync_snapshots/index.html이러한 유형의 백업은 증분 백업이라고 생각하며 하루 동안 조사한 후에 발견했습니다. rsync 명령 측면에서 차등 백업과 증분 백업의 차이점은 무엇입니까?및 기타 토론이 있지만 실제로 무엇을 하고 있는지 잘 모르겠습니다.

가이드와 게시물에 따라 (전체 시스템을 백업하기 전) source라는 폴더를 사용해보기로 결정했습니다.

rsync -av --delete /home/user/source /home/user/backup/backup0/

그런 다음 일부 파일을 추가 및 삭제하고 세 개의 백업을 만들었습니다.

rsync -avH --delete --link-dest=/home/user/backup/backup0 /home/user/source /home/user/backup/backup1 

rsync -avH --delete --link-dest=/home/user/backup/backup1 /home/user/source /home/user/backup/backup2

rsync -avH --delete --link-dest=/home/user/backup/backup2 /home/user/source /home/user/backup/backup3

이러한 유형의 백업을 사용하면 다음과 같은 결과를 얻을 수 있을 것 같습니다.

backup0-->backup1-->backup2-->backup3

그래서 "backup3"의 내용을 복원하려면 #1과 #2가 필요하지만 삭제한 다음 backup3을 복원하면 모든 것이 원래대로 돌아갑니다. 그래서 난 달렸어

user@user:/backup$ du -sh *
450M    backup0
620K    backup1
624K    backup2
628K    backup3

증분 백업이 아닌 차등 백업처럼 보이는데 차등 백업을 하려는 것 같아서 백업마다 설정을 해야 합니다 --link-dest=/home/user/backup/backup0

내 질문은: 내가 뭔가 잘못하고 있는 걸까요? rsync를 사용하여 전체 시스템을 백업하는 더 좋은 방법이 있습니까?

추신: 대상 장치는 동일한 파일 시스템을 가진 외부 드라이브입니다.

답변1

하드 링크를 사용하면 파일의 여러 복사본을 저장할 수 있으며 한 복사본의 디스크 공간만 차지할 수 있습니다. 여러분이 보고 있는 것은 du동일한 파일에 대한 여러 하드 링크가 차지하는 공간을 두 번 계산하지 않도록 주의하라는 것입니다.

실행하고 싶다면:

du -sh backup3

backup3이 약 450M를 차지한다는 것을 알 수 있습니다. 실행하는 경우:

du -sh backup2 backup3

backup2는 약 450M를 차지하는 반면, backup3은 거의 차지하지 않는다는 것을 알 수 있습니다. 이는 dubackup2를 먼저 살펴보고 공간을 계산하기 때문입니다. backup3을 볼 때 이미 계산된 backup2의 파일에 대한 하드 링크가 아니라 사용된 새 디스크 공간만 계산합니다.

모든 백업은 완료되었으며 전체 복구를 수행하는 데 필요한 모든 것이 포함되어 있습니다. 그러나 파일이 하드 링크되어 있으므로 사용되는 총 디스크 공간은 훨씬 적습니다.

나는 1.2MB 파일을 디렉토리에 두었습니다 src/. 두 개의 백업을 만들어 보겠습니다.

$ rsync -a src backup1
$ rsync -a --link-dest=../backup1 src backup2

backup2가 얼마나 큰지 살펴보겠습니다.

$ du -sh backup2
1.2M    backup2

backup2에는 1.2MB가 있습니다. 이제 backup1과 backup2가 얼마나 큰지 살펴보겠습니다.

$ du -sh backup1 backup2
1.2M    backup1
8.0K    backup2

이제 backup2는 8k에 불과한 것으로 보입니다. 이는 하드 링크가 이중으로 계산되지 않기 때문입니다.

답변2

하드 링크는 디스크 공간을 절약하는 가장 좋은 방법입니다. rsync를 스크립팅하는 대신 래퍼를 사용하여 작업을 수행합니다.나비 백업.

이 래퍼는 순수 rsync를 사용하여 rsync를 실제 백업/복원 도구로 전환합니다(아카이브/내보내기 모드도 있음).

또한 옵션 중에는 --mode/-m백업 모드를 선택할 수 있는 플래그가 있습니다.증가또는미분.

차등 모드는 첫 번째 백업을 그대로 유지한 다음 모든 후속 백업이 여기에 연결되므로 하드 링크로 인해 많은 공간이 절약됩니다.

한 가지 예:

$ bb backup --computer mypc --destination /backup --data User --type Unix
 --mode Differential

관련 정보