rsync를 사용한 백업

rsync를 사용한 백업

지난번에는 홈 디렉터리를 복사하여 외장 하드 드라이브에 붙여넣어 데이터를 백업했습니다. 그 이후로 나는 홈 디렉토리에 파일을 추가하고 제거했습니다. 기본 디렉터리의 두 번째 복사본을 만들 필요 없이 새로 추가된 파일만 백업되도록 하드 드라이브에서 이 디렉터리를 업데이트하고 싶습니다. 이렇게 하면 공간과 시간이 덜 필요합니다.

이제 어려운 점은 내 노트북의 디렉토리 구조가 변경된 것 같습니다. 일부 파일 위치가 변경되었을 수 있습니다. 새로 추가된 파일과 삭제된 파일이 있습니다. 따라서 저는 이상적으로는 Ubunthu 명령줄(예: rsync)을 사용하여 노트북의 홈 디렉터리에 있는 모든 파일에 대해 외장 드라이브의 홈 디렉터리에 있는 모든 파일을 검색하고, 거기에 파일이 있으면 검색하지 않는 것이 좋습니다. 복사하세요. 찾을 수 없으면 복사하세요. 해당 하위 디렉터리가 있으면 새 파일이 하위 디렉터리에 추가됩니다. 그렇지 않은 경우 해당 하위 디렉터리를 만듭니다.

일반적으로 기존 백업을 어떻게 업데이트합니까?

감사해요

답변1

rsnapshot나는 이것이 당신에게 이상적이라고 생각합니다 . 를 사용하면 rsync홈 디렉터리의 증분 차등 백업을 만들어서 일정 기간(예: 일주일) 전에 백업된 데이터를 복원할 수 있습니다. 매번 전체 내용을 복사하는 것이 아니고, 변경된 내용만 복사합니다. 설정이 쉽고 모든 명령줄이 가능합니다.

HTH, 건배

답변2

이러한 문제를 방지하기 위해 일반적인 시스템 관리자 접근 방식은 각 백업을 다른 백업과 분리하는 것입니다. 이를 수행하는 쉬운 방법은 이름에 현재 날짜 또는 타임스탬프가 포함된 단일 파일에 데이터를 저장하는 것입니다. tar이 작업은 쉽게 수행할 수 있습니다.

tar -cf "/backups/$(date +%Y%m%dT%H%M%S).tar" /some/path

쉽게 압축할 수 있는 데이터(예: 텍스트 파일)인 경우 결과를 압축하여 디스크 사용량을 최소화할 수도 있습니다.

tar -zcf [...]

이렇게 하면 원하는 버전으로 쉽게 돌아갈 수 있으며 다음과 같은 다른 도구와도 잘 작동합니다.logrotate.

답변3

Rsync는 기본적으로 증분 백업을 지원합니다. "-i" 옵션을 사용하여 소스 디렉터리와 대상 디렉터리 간의 변경 사항을 볼 수 있습니다.

사용법은 다음과 같습니다.

rsync -avzi root@hostip:/var/big /root/tmp

관련 정보