원격지의 Mac과 Mac의 양방향 Sync – Unison

회사와 집에서의 작업 디렉토리/문서를 양방향 Sync 시키는 방법에 대해서 공유하고자 한다.

원격지의 Mac간의 양방향 Sync를 하기위한 방법으로 다양한 방법들이 존재하며, 각각의 장단점있다.

* Transmit을 통한 FTP Sync
– 장점 : 가장 직관적이며 쉽다.
– 단점 : 속도가 오래 걸리며, 파일의 생성 날짜가 FTP 전송일이 되어버려 작업 History관리가 불가능하다.
날짜에 의한 Sync가 되지 못한다.
– 결론 : 비추

* Rsync
– 장점 : 빠르고 간면하다. 무료다. One-way sync로 백업시에만 유용하다.
– 단점 : 사무실과 집에서 동시에 작업할때 과거 데이터가 새로운 데이터를 덮어 쓸 수 있어 양방향 Sync로 적절하지 못하다.
– 결론 : 백업이나 n대의 서버로 배포(백업)시 유리

* Subversion
– 장점 : 문서,파일에 대한 형상 관리가 가능하다.
– 단점 : 형상관리가 필요하지 않은 문서/파일 관리로, 저장공간이 적게는 두배이상 필요하다.
– 결론 : 여러명의 협업 혹은 단일 프로젝트의 작업 기록이 남겨야 하는 프로젝트성 자료 공간으로 활용

* Unison
– 장점 : Bi-way sync로 양방향 Sync가 가능하다. 무료다. Cross-platform으로 Mac, Linux, Unix, Windows간의 양방향 Sync가 가능하다.
원격지가 아닌 LAN상의 컴퓨터 혹은 동일 컴퓨터의 Volumes내에서 양방향 Sync가 가능하다.
– 단점 : 단 Windows 상에서는 파일명에 한글이 있을시 깨진다. (Unix/Mac/Linux간에는 문제 없음)
– 결론 : 개인 혹은 업무적으로 항상 데이터를 양방향 Sync시킬 필요가 있을 경우 유리

최초 1G 정도 자료의 회사와 집의 Mac끼리의 최초 Sync시간이 5분 이내였던 것 같고, 이후에는 변경 파일만 비교해서 복사하니 몇 초~몇분 이내에 다 Sync되었다.

참고
#01. Unison Manual
#02. Complete Bi-Directional Home Sync and Backup with Unison
#03. Unison File Synchronizer: Liberation through Data Replication
#04. Using Unison for remote backups
#05. File Synchronization with Unison
#06. Passwordless SSH using public/private keys
#07. 파일동기화

방법은 아래와 같다.
1. 두대의 Mac에 Unison 설치
2. 두대의 Mac 각각으로 SSH로그인시 패스워드없이 자동으로 입력하게끔 환경 설정

3. 명령어 수행
4. 고급환경 설정 (Shell script작성 및 Crontab에 등록하여 주기적으로 실행되게끔.)

1. Unison 설치
두가기 방법이 있는데 Source를 직접 Compile하는 방법이 있고, 미리 Compile한 Binary를 받아서 설치하는 방법이 있다.
1) 직접 compile방법
Complete Bi-Directional Home Sync and Backup with Unison 을 참고하여 컴파일한 후 설치한다.

2) Compile된 unison binary를 다운로드 받아 설치하는 방법
http://www.cs.haifa.ac.il/~shuly/unison/ 에서 unison 2.27.47
text version, compiled for PowerPC Apple OS/X을 다운로드 받아 압축을 풀고 아래와 같이 압축을 풀고 설치한다.
———————————————————-
su
mv unison-2.27.47.osx.text /bin/unison
chmod 777 /bin/unison
———————————————————-

추가로 필자가 쓰고 있는 버전은 예전에 googling으로 찾았는데 어디서 찾았는지 재검색이 안된다. 필자가 가지고 있는 Binary파일을 Link로 걸어둔다. (Unison 2.26.13: Mac(10.4, 10.5), Linux, Windows)

2. 두대의 Mac 각각으로 SSH로그인시 패스워드없이 자동으로 입력하게끔 환경 설정
1) 로컬 컴퓨터에서 Key를 생성한다.
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t dsa

2) 생성된 키를 원격지 컴퓨터로 복사한다.
$ scp -p id_dsa.pub remoteuser@remotehost:
Password: ********

3) 원격지 컴퓨터로 로그인하여 Public key를 인식/추가해 준다.
$ ssh remoteuser@remotehost
Password: ********
remotehost$ mkdir -p ~/.ssh
remotehost$ chmod 700 ~/.ssh
remotehost$ cat id_dsa.pub >> ~/.ssh/authorized_keys
remotehost$ chmod 600 ~/.ssh/authorized_keys
remotehost$ logout

4) 원격지 컴퓨터로 재 로그인 한다. (패스워드를 물어보지 않고 자동 로그인됨)
$ ssh remoteuser@remotehost

3. 명령어 수행
$ unison ~/Documents ssh://remoteuser@remotehost/Documents -times
내 Documents 하위 디렉토리 전체를 @remotehost 컴퓨터의 remoteuser의 Documents에 시간 정보를 그대로 유지하고 복사

$ unison ~/Documents ssh://remoteuser@remotehost//Volumes/외장하드명/Documents -times
내 Documents 하위 디렉토리 전체를 @remotehost 컴퓨터의 외장하드의 Documents폴더에 시간 정보를 그대로 유지하고 복사

4. 고급환경 설정

여러개의 Folder를 양방향 Sync시킬 경우 상기 명령어를 포함한 Shell 파일을 하나 만들고 퇴근 무렵 Crontab에 주기적으로 실행되게끔 설정하면 완료 됨.

$vi ~/script/bi-sync-backup.sh
——————————————————————————-

unison ~/Documents ssh://remoteuser@remotehost/Documents -times -batch > /dev/null 2>&1
——————————————————————————-

$chmod 755 ~/script/bi-sync-backup.sh

$crontab -e
——————————————————————————-
50 17 * * * /Users/(계정명)/script/bi-sync-backup.sh > /dev/null 2>&1

——————————————————————————-

이렇게 하면 매일 오후 5:50분에 사무실의 컴퓨터를 Remote 컴퓨터의 ~/Document 폴더를 양방향 Sync해준다.

Technorati Tags: , , , , , leopard, tiger, mac

Peter Kim에 대하여

김태영 PMP 010-9344-7505 프로젝트리서치(주) 대표/설립 peterkim@projectresearch.co.kr http://www.ProjectResearch.co.kr

6개의 답글 to “원격지의 Mac과 Mac의 양방향 Sync – Unison”

  1. Unison 2.39 이상 버전부터는 유니코드를 지원하고, 윈도로 접속해 사용할 경우 2.39 이상 버전과 함께 cygwin 1.7 이상을 사용하면 한글 파일명도 아무 문제 없이 동기화됩니다. 다만 저는 이걸 iTunes 동기화용으로 쓰려고 했더니 맥과 윈도에서 아이튠즈가 파일명 길이 자르는 방식이 달라 매번 파일 삭제/추가로 인식되는 바람에 해결책을 찾아보는 중입니다. ㅠ_ㅠ

    • 아. Windows에서도 Charset이 깨지지 않나보네요. 좋은 정보 감사합니다.

      참. iTunes는 Home Sharing 기능 이용하면 WIN, MAC이든 상관없이 서로의 갱신된 파일이 복사되지 않나요? 저는 Home Sharing 쓰고나서 편해졌는데..

트랙백/핑백

  1. 여러대의 Safari 와 Firefox 간의 Bookmark Sync 방법 « Peter .WEB2 - 12월 16, 2008

    […] 원격지의 Mac과 Mac의 양방향 Sync – Unison […]

  2. MobileME 와 대안 솔루션 비교/정리 « Peter .WEB2 - 5월 5, 2009

    […] 형태로 꽤나 유용하게 쓸 수 있으나, 필자의 경우 Dropbox와 원격 서버에 양방향 Sync tool인 Unison 혹은 FileChute/FTP의 조합으로 잘 활용하고 있다. (iDisk는 국내에서의 체감 […]

  3. 두대의 Mac과 두개의 iPhone 상호 Sync하기 « Peter .WEB2 - 1월 13, 2010

    […] 의해서 동기화 시켜버린다. (예전에는 Rsync에 의하여 단방향 백업을, Unison에 의하여 양방향 Sync를 시켜버렸는데.. 이것도 귀찮아 […]

  4. 블로그 결산 – Mac 활용기 인기 순위 « Peter .WEB2 - 1월 5, 2011

    […] 원격지의 Mac과 Mac의 양방향 Sync – Unison […]

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: