Unison 동기화 프로그램

 Unison 

http://www.cis.upenn.edu/~bcpierce/unison/

2대 이상의 서버(1대일 경우 폴더)를 동기화(Sync) 시켜주는 프로그램이다.

간단히 /bin/unison /경로A /경로B 로 동기화 가능함.

(원격서버에 연결해야 할 경우 /bin/unison /경로A ssh://계정@아이피//경로B 와 같이 실행)

동기화를 하다보면 마스터 서버에서 삭제된 파일이 다른 모든 슬레이브 서버에서도 마찬가지로 삭제되는 경우가 있다.

필요없는 파일이라면 상관없지만 실수로 중요한 파일을 삭제했다면…

…그리고 cron 으로 빡세게 분단위 동기화를 걸어놨다면

N분 0초가 되기 전에 슬레이브 서버에 있는 파일을 다른 곳으로 복사시켜놔야 할 것이다.

(마스터 서버 : 주로 사용되는 서버 / 슬레이브 서버 : 백업용 서버)

서버 용량이 넉넉하다면 슬레이브 서버의 파일을 그대로 유지하는게 좋을 수 있다.

이럴 경우 unison 실행시 옵션이 필요한데, 2가지 유형이 있다.



마스터 서버에서 파일이 삭제되더라도

A) 슬레이브 서버에 있는 파일로 다시 복원(복사)

    /bin/unison /경로A /경로B -ignorearchives

B) 슬레이브 서버의 특정 경로에는 삭제된 파일이 적용되지 않음 (파일 유지, 마스터 서버에만 파일이 삭제됨)

    /bin/unison /경로A /경로B nodeletion=/경로



본인의 경우, A 방법을 이용하다가 B 방법으로 옮겼다.

A 방법은 정말 쓸모 없어서 완전히 삭제시켜야 하는 파일인데 unison 실행시 슬레이브 서버로부터

매번 삭제된 파일들이 복사되어 엄청 짜증나는 경험이 있었다.

그렇다고 매번 파일 삭제할 때마다 마스터&슬레이브 서버들을 돌아다니며 하나씩 지울 수도 없는 노릇이고..

(타이밍 잘못 맞추면 분명 삭제했는데도 다시 살아난다..)


B 방법으로 옮겼는데 불만 없이 잘 사용하고 있다.

마스터 서버에서 삭제한 파일 중 꼭 다시 확인해야 하는 것이 있을 땐 슬레이브 서버로 들어가서 확인하면 된다.

물론 정말 쓸모없는 파일들은 슬레이브 서버에서 직접 삭제를 시켜줘야 마스터&슬레이브 서버 모두에서 사라지게 된다.


아.. 더 작성하기 귀찮다..

이 정도면 귀차니즘 이겨내고 잘 쓴듯 ㅇㅇ..

ㅂㅂ