본문 바로가기

App/생산성 Tool

[Obsidian] 옵시디언 아이클라우드로 윈도우-아이패드-맥 동기화 방법

최근 다양한 노트앱을 사용하면서 로컬 기반 노트앱들이 다양한 기능, 빠른 속도 때문에 마음에는 들지만 로컬 기반 앱이 가질 수 있는 태생적인 동기화 한계 때문에 어려움을 겪었다.

특히 옵시디언을 사용하다보면 기기간 동기화가 가장 아쉽다. 물론 유료 sync 기능을 제공하고 있지만, 굳이 무료 노트앱을 동기화 기능만을 위해서 유료로 사용하고 싶은 생각이 안들었다. 단순 PC-Mac 간 동기화는 구글드라이브나 원드라이브, 드랍박스 등 선택지가 많지만, PC-Mac-iPad 까지 동기화하기에는 악명놓은 클라우드 서비스인 아이클라우드를 사용해야한다. 아이클라우드는 맥이나 아이폰에서도 언제나 불편하고 느리며 아무 기능이 없는 클라우드 드라이브지만, 윈도우에서는 도저히 사용할 수 없는 정도로 심각하다.

참고로 아이클라우드로 윈도우에서 노트앱 동기화를 사용하다가 데이터를 몇 번을 날려먹었는지 모른다. 대부분 클라우드 저장소 서비스에서 제공하는 복원 기능이나 파일 수정 이력 등도 전혀 제공하지 않아 틈틈히 클라우드 저장소 서비스를 백업해두어야한다.

게다가 전체적인 업로드/다운로드 속도가 느린 덕분에 기기 간 동기화 속도에 문제가 있다. 이 기기 간 동기화 속도 차이 때문에 과거의 데이터가 최신 데이터를 덮어쓰는 문제가 계속 발생한다. 그나마 안정적인 방법은 아이클라우드가 자동으로 데이터를 덮어쓰기 전에 양쪽 데이터(로컬 데이터-클라우드 데이터)를 비교해 가장 최신 데이터로 동기화하는 방법. 즉, 동기화 자체를 아이클라우드가 아닌 Unison이라는 프로그램을 이용하는 방법이다.

우리는 윈도우를 사용할 예정이기 때문에 아래와 같이 깃허브 페이지에서 windows 설치 파일(unison-v2.53.1+ocaml-4.14.0+mingw64c+x86_64.windows.zip) 을 다운로드 한다. (개발자가 업데이트 했다면 버전이 다를 수 있다.)

가장 주의해야할 점은 unison 프로그램은 설치 후 "C:\unison\bin\unison.exe” 위치에 잘 있어야한다는 점이다. 윈도우 스케쥴러를 이용해 주기적으로 unision을 호출하여 동기화를 진행할 것이다. 따라서 스케쥴러 등록을 위해 윈도우 powershell을 ‘관리자 권한으로 실행’해야한다.

아래와 같이 스크립트를 작성하면된다.

SCHTASKS /Create /RU "SYSTEM" /SC MINUTE /MO 2 /TN "ObsidianNotebookICloudSync" /TR "C:\\unison\\bin\\unison.exe -batch -confirmbigdel=false 'C:\\Users\\kmyeon\\OneDrive\\LYT Kit' 'C:\\Users\\kmyeon\\iCloudDrive\\iCloud~md~obsidian\\LYT Kit'"

이 방법은 여전히 문제가 많은 아이클라우드 저장소를 이용하는 방식이기 때문에 만족스럽지 못하다. 하지만 윈도우, 아이패드, 맥, 아이폰을 사용하는 유저들은 어쩔 수 없이 울며겨자 먹기로 이 방법을 사용할 수 밖에 없다. 해당 방식을 사용해도 ‘로컬’과 ‘클라우드’를 동기화 시켜주는 방식이기 때문에 두 군데서 동시에 작성은 불가능하다. 기기에서 옵시디언을 실행 시 동기화가 완료될 때까지 아무런 작성도 하지 않고 기다려야한다. 동기화가 완료되면 작성을 시작하면 된다. 그리고 반드시 해당 기기에서 작성이 완료되면 프로그램을 제대로 종료한다. 종료한 이후에 다른 기기에서 다시 프로그램을 실행해야한다. 이 방법이 가장 무난하면서 동기화가 큰 문제없이 진행되는 방법이었다. 다만 동기화 시 파일 충돌이나 문제가 생겼을 때, 문제점을 찾기 쉽지 않기 때문에 완벽한 데이터 관리를 목표로 하는 사람은 아이클라우드를 아예 사용하지 않는 것이 좋다. 특히나 모바일 기기에서 아이클라우드 동기화는 속도만 느린 것이 아니라 어느 시점에 동기화가 되는지 알 수가 없다. 아이패드에서 옵시디언을 열 때마다 언제적 버전인지 모르는 문서들이 열릴 때도 있다.

동기화는 윈도우가 켜져있는 상태에서는 계속 진행되기 때문에, 혹시라도 동기화를 중지하고 싶다면 스케쥴 작업을 삭제해야한다. 다음과 같이 타이핑하자

schTasks /delete /f /tn "ObsidianNotebookICloudSync"

이런 불만이 많은 분들은 unison 같은 자동 파일 동기화가 아닌 수동 동기화를 선택하는 것도 방법이다. 수동 동기화를 github를 이용해서 할 수 있는 방법은 velog에 잘 정리하신 분이 있어 링크를 걸어놓았다. 프라이빗 깃헙에 자신의 노트를 업로드하는 것에 거리낌 없는 분들이라면 시도해볼만 하다.

https://velog.io/@joshuara7235/%EC%98%B5%EC%8B%9C%EB%94%94%EC%96%B8-%EC%82%AC%EC%9A%A9%ED%95%B4-%EB%B3%B4%EC%8B%A4%EB%9E%98%EC%9A%94

 

옵시디언 사용해 보실래요? - 동기화, 백업 환경 구축

최고의 메모 어플 옵시디언, 동기화와 안정성 두마리의 토끼를 모두 잡아 구축한 이야기를 공유해봅니다 🎉

velog.io

 

반응형