[[TableOfContents]] == 개요 == * http://www.nongnu.org/rdiff-backup/ 공식 사이트 * http://www.nongnu.org/rdiff-backup/examples.html 예제. 강력한 증분 백업 솔루션. 공간을 적게 사용하면서 변경 사항을 유지할 수 있고. 오래된 백업 삭제를 쉽게 할 수 있다. [[rsync]]에 여러 스크립트를 사용해 타임머신을 구현하던 방법보다 훨씬 쉽게 백업 및 복구가 가능하다. == 사용법 == * '데이터 백업'과 '오래된 백업 데이터 삭제'는 동시에 할 수 없다. * ex: 백업 및 오래된(30일 초과한 파일 삭제) 하려면? * 잘못된 예 {{{ rdiff-backup --remove-older-than 30D 원본경로/ 사본경로/ }}} * 위와 같이 쓸 수 없음. --remove-dolder-than을 사용할 때는 경로 인수를 하나만 받을 수 있기 때문. * 백업과 오래된 데이터 삭제는 별도로 실행해야 함. * 제대로 된 예 {{{ rdiff-backup 원본경로/ 사본경로/ rdiff-backup --remove-older-than 30D 사본경로/ }}} * 나눠서 실행해야 함. === 기본 백업 방법 === 로컬에서 사용시 {{{ rdiff-backup 원본경로/ 사본경로/ }}} 원격 백업시 {{{ rdiff-backup ID@HOSTNAME::/원본경로 사본경로/ }}} scp와 비슷하지만 호스트네임(혹은 IP)와 디렉토리 경로를 구분하는 :가 두 개임에 주의. 사본경로에서 파일 목록을 확인해보면 rdiff-backup-data 가 추가 되어 있다. 여기에 추가되거나 삭제되는 파일/디렉토리에 대한 정보 및 파일이 보관된다. === 백업 목록 확인 === {{{ rdiff-backup -l 사본경로/ }}} -l 옵션을 주면 rdiff-backup-data에서 정보를 읽어와 백업 목록을 보여줌. 여기서 보이는 시간을 활용해 복구할 수 있을..까?(아직 안 해봄). === 복구 === 가장 최근 백업된 상태로 복원하려면 사본경로 그대로 복사하면 된다. 그러나 rdiff-backup을 사용하는 사람이라면 최신 백업본 복구를 원하는게 아닐터(rsync를 쓰면 되니). -r, --restore-as-of restore_time 옵션을 사용해 일자별 복구가 가능하다. {{{ rdiff-backup -r TIME_FORMATS 사본경로/ 복구할경로/ }}} == 백업 구조 == 원본 파일과 디렉토리를 그대로 복사 한 뒤, 변경 사항을 rdiff-backup-data 디렉토리에 보관한다. == 주의사항 == 서버 - 클라이언트 버전이 너무 크게 차이나면 백업실패하는 경우가 있었다(테스트 당시 클라이언트 1.2.8, 서버측 1.0.x 시 원격 백업이 되질 않았음). 가능하다면 서버 - 클라이언트의 버전을 맞춰주자. == 리눅스 - 윈도우 간 파일 백업 == 아쉽게도, 서로 다른 파일 이름 인코딩을 지원 못한다. [[http://wiki.rdiff-backup.org/wiki/index.php/FilenamesConversion 참조]] (rsync는 --iconv 옵션을 이용하면 된다.) 백업이 되긴 하지만 한글 파일명이 엉망으로 깨지는 것을 볼 수 있다. 해결 방법으로, 원본 리눅스 서버에서 원본과 복제(하드링크)를 만들어 비교한 뒤, 윈도우에서 복제를 rsync로 끌어가는 방법으로 끌어가는 방법이 있겠다. 더 나은 방법이 있으면 추가 바람.