nDiki

2021年1月11日 (月)

Google ドライブDropboxUnison で同期する

ノートテキストファイルは全文検索できるよう Google ドライブと同期しておきたい。それと同時に他の PC との同期のため Dropbox とも同期しておきたい。しかしセキュリティを考えてクラウド同期サービスは使いたくない。

Google の「バックアップと同期」アプリと Dropbox アプリの両方を動かしてそれぞれローカルフォルダと動機している MacBook Pro 上で、そのローカルフォルダ間のファイル同期を実行してみることにした。

使うのは普段リモートホストとの同期に使用している Unison File Synchronizer。最近になって repeat = watch というファイル更新をモニタリングするオプションを知ったので試してみる。

unison-fsmonitor を用意する

ファイル更新モニタリングで使う Unison 標準の unison-fsmonitor は macOS では使えないらしいので代替の https://github.com/autozimu/unison-fsmonitor をインストールする。

 $ brew install autozimu/homebrew-formulas/unison-fsmonitor

Unison のプロファイルを作成する

Unison の同期用のプロファイルは以下のような感じ。

 root = /Users/naney/Google ドライブ/folderA
 root = /Users/naney/Dropbox/folderA

 times = true

 repeat = watch
 silent = true

 logfile = /Users/naney/var/log/unison.log

(実際には path や ignore をもう少し指定している。)

同期する

repeat = watch と silent = true をいったんコメントアウトして

 $ unison <プロファイル名>

で手動同期し、期待通りの同期ができているか確認する。問題無ければ

 $ nohup unison <プロファイル名> &

で監視を開始する。

動作確認した感じでは

と安定して使える感じだ。

コンフリクトが起きた場合はスキップされたままになるので、たまに手動で Unison を実行して確認した方が良さそうではある。

[ ノート・日記はテキストファイルに ]

[ 1月11日全て ]

About

Process Time: 0.203544s / load averages: 0.35, 0.82, 0.87