unison 으로 두 대의 윈도우즈 머신에서 두 개 이상의 드라이브를 동기화하기...

raymundo의 이미지

음... 이거 리눅스는 전혀 등장하지 않는 내용입니다만... 예전부터 unison을 사용한 동기화는 여기서 묻고 답했기에...

다음과 같은 상황입니다. (예를 들어서)
집PC 의 C:\Temp 를 연구실PC 의 C:\Temp 와 동기화하고,
집PC 의 D:\Work 를 연구실PC 의 D:\Work 와 동기화하고 싶다.

지금까지 저는 리눅스가 껄린 또 다른 PC (이걸 '서버'라고 부르도록 하죠)를 중간에 넣어서,
집PC-리눅스-연구실PC 사이에 동기화를 시켰습니다.

1)리눅스PC에서 unison 서버를 띄우고

$> unidon -socket 10000

2)집PC에서 명령프롬프트 창을 열어서 윈도우즈용 unison 바이너리를 실행시킴
> unison Temp (Temp 는 프로파일 이름)
> unison Work

Temp와 Work는 각각 C:\Temp와 D:\Work를 위한 프로파일이고, 이렇게 두 번 실행하기 귀찮으니 배치 파일을 만들었지요.
3)연구실PC에서도 마찬가지

애초에 리눅스에서 서버를 띄우는 게 편한데다가, 이렇게 하면 동일한 작업본이 세 곳에 남기 때문에 백업의 의미도 있다고 생각하여 좋다고 한 건데, 이 경우 불편한 것은 집에서 아침에 동기화하고 나서면 연구실에 와서 다시 한 번 동기화를 해줘야 반영이 되고, 연구실을 나설 때도 마찬가지란 얘기입니다. CVS를 쓰는 것과 똑같지요. 한 쪽에서 커밋하고 다른 쪽에 와서 업데이트하고... Work가 2GB가까이 되다보니 체크하는 시간이 만만치가 않습니다.

그래서 중간에 리눅스 서버를 거치지 않고 집PC-연구실PC를 직접 동기화하자고 했는데, 이 때 C:와 D:가 서로 다른 드라이브라서 문제가 생겼습니다. unison 에서 Root 항목을 지정해줄 때 드라이브 명을 적어 주는 것이 불가능하더군요.

# C:\Temp 를 동기화하기 위한 프로파일
times = true
root = C:\
root = socket://연구실PC주소:10000//C            
# 이런 식으로 C를 명시해도, 이것은 C:가 아니라 드라이브루트\C 폴더로 간주되어 버림
 
path = Temp

이리 저리 해 본 결과 윈도우즈에서 unison 서버를 띄울 경우는, unison을 실행시킬 때의 pwd가 있는 드라이브가 Root가 된다는 걸 알았습니다. -_-;;; 즉 명령 프롬프트 창에서

C:\Document 어쩌고> unison -socket 10000
하면 C:가 드라이브루트이고
D:\저쩌고> unison -socket 10000
하면 D:가 드라이브루트가 됨

따라서 프로파일에는 다음과 같이 적어야 했습니다.
# C:\Temp 를 동기화하기 위한 프로파일
times = true
root = C:\
root = socket://연구실PC주소:10000//    # 아예 드라이브명을 적지 않음. 드라이브명은 서버 쪽에서 결정되니.. 
 
path = Temp

결과적으로,
1) C:\Temp 를 동기화하기 위해서, 연구실PC에서는 C:에서 unison 서버를 실행하고, 집PC에서 클라이언트 실행
2) D:\Work 를 동기화하기 위해서, 연구실PC에서는 D:에서 unison 서버를 실행하고, 집PC에서 클라이언트 실행
해야 합니다.

기존에는 서버는 한번만 실행하고 클라이언트만 두 번 이상 실행하면 (그나마도 배치파일로 만들면 한 번) 되었는데, 이제는 서버를 두 번 이상 실행해야 하니 불편하기 짝이 없습니다.

이것도 그나마 방법이 있긴 합니다. 애초에 서버를 한꺼번에 두 개를 띄우는 겁니다. 포트를 서로 다르게 하는 거죠. 테스트해서 성공하기도 했습니다. 하지만 정말 마음에 들지 않습니다. 명령프롬프트 창을 두 개 띄워서 하나는 꼬박꼬박 D:로 옮겨준 후에 서버를 실행해야 하는 것도 그렇고... -_-;

저 프로파일에 뭔가 다르게 적어주면 드라이브명도 지정을 할 수 있지 않을까 싶은데 웹에서 검색을 해 봐도 못 찾겠습니다. 혹시 윈도우즈끼리나, 로컬 리눅스와 원격 윈도우즈 사이에 동기화를 하는 분들 계시면 조언 좀 부탁드리겠습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.