/command/unison/memo01
unisonとは
unisonとは、同期コマンドである。
rsyncやscpとは違って、双方向に同期できる(全く同じ内容のディレクトリを作れる)ようだ。
要するに、コマンド版Dropboxだ。
もちろん、同じ名前のファイルが存在する時には、残すファイルを選択しながら同期できるし、選別基準を設定ファイル化して、勝手にやらせることもできる。らしい。
ブログ主は、複数の計算機を使う環境下にいる。Dropboxを使って、計算機間でコードを共有しているのだが、容量が少ないし一々スイッチユーザして実行ファイルを叩くのもめんどくさいので、乗り換えることにしてみた。
- 嬉しいポイント:
複数のPC、計算機を使う場合に、簡単に容量無制限で同期ができる。 - 悲しいポイント:
バックグラウンド同期は、勝手にはやってくれない(自分で設定を書かないといけない)
同期に時間がかかる。NFSだと露骨に遅い。らしい。(Dropboxよりは早い)
設定するのめんどい
こちらの方とこちらの方を参考にする。
リンク貼っちゃダメだったら消します。
unisonインストールしてみた
環境:
macosx10.7.4
homebrewがインストールされているので、brewで入れる。
brew install unison
とりあえず、同一PCの二つのディレクトリを、同期させてみる。
自分のホームディレクトリに、unisonというディレクトリを作り、その下にtmp1,2というディレクトリを作ります。
そして、tmp1の中にはtest.txtというファイルを作り、unisonでtmp1とtmp2を同期してみます。
mkdir ~/unison mkdir ~/unison/tmp1 mkdir ~/unison/tmp2 touch ~/unison/tmp1/test.txt unison tmp1 tmp2
以上のようにコマンドを打ち込むと、下のような表示が出ます。
Contacting server...
Looking for changes
Reconciling changestmp1 tmp2
new file ----> test.txt [f]
Proceed with propagating updates? [] y
Propagating updates
UNISON 2.40.102 started propagating changes at 22:10:25.39 on 03 May 2013
[BGN] Copying test.txt from /Users/ri/unison/tmp1 to /Users/ri/unison/tmp2
[END] Copying test.txt
UNISON 2.40.102 finished propagating changes at 22:10:25.39 on 03 May 2013
Saving synchronizer state
Synchronization complete at 22:10:25 (1 item transferred, 0 skipped, 0 failed)
確かめたところ、tmp1に作ったtest.txtというファイルが、tmp2の中にも出来ていました。
きちんと同期されたようです。
unisonを異なるPC間同期に使ってみた
ここからが本題です。
やるつもりだったけど、鯖管に怒られそうなので次回。