はじめに
ローカルとサーバのディレクトリを同期する必要があったので、今回unisonを使ってみました。
予想以上にunisonのバージョンを揃えたりと面倒だったのでインストール手順を残しておきます。
基本的に上からコピペすれば動くと思います。
ローカル
unisonのインストール
$ brew install unison
# プロジェクトを作成
/Users/user.name/.unison/project.prf
下記参考に諸々書き換える(IPはhostでいける)
これがどこのサーバと同期するか、何を同期するかの設定ファイルとなります。
# リモートのディレクトリ
root = ssh://project.com//var/www/project
# ローカルのディレクトリ
root = /Users/user.name/Desktop/project
ignore = Path vendor
ignore = Name {tmp,log}
auto = true
times = true
prefer = newer
サーバ
結構長い
コケるけど無視
curl -kL https://raw.github.com/hcarty/ocamlbrew/master/ocamlbrew-install | bash
インストールが終わるとocamlbrewというディレクトリが出来ます。
.bashrcに下記をコピペ(ocamlbrewのバージョンは合わせてください)
__ocaml_path__="$HOME/ocamlbrew/ocaml-4.03.0" # ~/ocamlbrewをlsしてみて適切なバージョン番号に置き換えてください
PATH="$__ocaml_path__/bin:$PATH"
export OPAMROOT="$__ocaml_path__/.opam"
source "$OPAMROOT/opam-init/init.bash" > /dev/null 2> /dev/null || true
パスを通す
source ~/.bashrc
インストール
ここも少し長い
opam switch 4.03.0
インストール
opam install oasis utop Batteries ocamlscript
sudo yum install ocaml ocaml-camlp4-devel ctags ctags-etags
ファイルをダウンロード&移す
サーバにインストールするために、パッケージをダウンロードします。
ローカルとサーバのunisonのバージョンを合わせる必要があるので、ローカルにインストールしたバージョンをダウンロード
してください。
サイト http://www.seas.upenn.edu/~bcpierce/unison//download/releases/
macで解答
解凍したファイルをサーバにアップロード
scp -r /Users/shoichi/Downloads/src project.com:/home/webmaster
アップロードしたファイルに移動してビルド
make
# ビルドが終わったらこのコマンドをインストールしたら叩く
sudo cp -v unison /usr/bin/
これでセットアップが完了しました。
あとはローカルに戻って下記を実行して、同期していきましょう。
実行
unison project -repeat watch
以上です。
参考
http://qiita.com/yuya_presto/items/f35f556770196f964810
https://plus.google.com/103080563170453474101/posts/ZMBytWVkhTn
https://www.digitalocean.com/community/questions/install-unison-in-centos-7