Objective Caml에 평소에 관심이 많다보니, O’Caml로 짠 유명한(?) 프로그램도 관심있게 지켜보고 있습니다. mldonkey와 unison이 그래도 많이 쓰이는 프로그램인 거 같은데, mldonkey는 아직 사용은 못해봤고, Unison은 전에 설치는 해봤는데 사용은 제대로 못했었습니다. mldonkey는 외국에서 많이 사용하는 P2P 프로토콜(edonkey, fasttrack, bittorrent, gnutella, dc…)을 모두 지원하는 텍스트 기반 P2P 프로그램입니다. Unison은 두 디렉토리들을 동기화시켜주는 유틸리티입니다. 버전 관리툴하고 유사하긴 하지만 버전을 관리해주지는 않고 양쪽 디렉토리에서 변경되는 부분을 양방향으로 동기화 해줍니다. 주로 원격 컴퓨터간 동기화하기 위해 만들어진것 같지만 한 컴퓨터 내에서도 아주 잘 동작합니다. 원격 컴퓨터간 동기화 할때는 ssh, rsh와 unison 자체 프로토콜 등을 지원합니다.
회사의 모든 소스는 버전관리툴로 관리합니다. 하지만, 집에서 사용중인 많은 개인 파일들을 따로 등록해서 관리하기는 용량도 좀 크고, CD나 DVD로 백업하기도 귀찮더군요. 백업 하드디스크 따로 사서 가끔씩 중요한 폴더들을 그대로 복사하다가 시간도 오래 걸리고, 까먹고 해서 백업 툴들을 찾아봤었는데, 괜찮은것들은 대부분 쉐어웨어더군요. 음악을 취미로 하다보니 녹음한번 하면 꽤 용량이 됩니다. 그리고 새로 업데이트된 폴더들을 찾아서 복사해주는것도 일이더군요. 전체 다 복사하면 너무 오래걸리고요…
Unison은 알고있었는데 원격 동기화 프로그램으로만 생각해서 로컬 백업에 적합하다고 생각을 못했었습니다. 사용해보니, 사용방법도 간단하고 한번 세팅해두니 매일 새벽 자동으로 백업이 됩니다. ^^
unison win32 바이너리중 unison-2.13.16-win-text.exe를 받았습니다. 유닉스하고 버전을 맞추기 위해서 stable 버전을 받았습니다. 그래픽 버전은 GTK도 설치해야하고 백업은 사용자 인터액션 없이 자동으로 실행되는게 편하다고 생각하여 텍스트 버전으로 받았습니다. 적당한 디렉토리에 복사하고 커맨드창에서 다음을 실행하면 됩니다. 실행 파일명은 간단하게 바꿨습니다. 백업 디렉토리 f:\backup\music은 미리 만들었습니다.
unison.exe -batch -fastcheck true c:\music f:\backup\music
-batch 옵션은 실행도중에 디폴트로 자동응답하도록 하며, -fastcheck true는 양쪽 파일들을 비교할때 전체 파일에 대한 해시(핑거프린트)를 바로 하지 않고, 변경날짜 등으로 비교한후 틀린 파일들에 대해서 해시비교한다고 합니다. -fastcheck true 옵션을 주지 않고 대용량 디렉토리를 하면 무지 느립니다! 그리고, 처음 실행할때는 원래 느립니다. (모든 파일에 대해서 해시하는거 같네요.)
하지만 위에 처럼 실행하면 양쪽 디렉토리를 동기화해주기 때문에 backup 디렉토리에서 파일을 삭제하면 원본에서도 지워집니다. 그래서 한방향으로만 씽크해주는 옵션이 있습니다.
-force ROOTDIR로 어느쪽이 원본인지를 알려주면 됩니다.
unison.exe -batch -fastcheck true -force c:\music c:\music f:\backup\music
백업을 원하는 디렉토리 백업하는 batch 파일을 위에처럼 만들어주고, “시작-프로그램-보조프로그램-시스템도구-예약된작업” 에 등록시켜서 매일 새벽에 실행시켜주면 백업 걱정 끝입니다. 물론 가끔씩 DVD나 네트워크 백업을 해주는게 더 안전하겠죠.
백업을 열심히 하는 편인데… CD도 믿을만한 매체는 못되는거 같더군요. 전에 백업해 둔 CD를 못읽어서 6개월 정도의 데이타를 날린적이 있습니다. TT