分からんこと多すぎ

何故か就職できたので技術磨く。一人前の多重線形代数使いを目指しつつ、機械学習、データマイニングをやる

/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 changes

tmp1 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間同期に使ってみた


ここからが本題です。
やるつもりだったけど、鯖管に怒られそうなので次回。