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 e #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

관련 정보