rsync を使った簡単なディレクトリ同期ツール synk

作った。

https://github.com/10sr/script/blob/master/synk.sh

予め同期先のディレクトリを決めておけば、 synk {pull|push} によってそのディレクトリと現在のディレクトリを同期できる。

まず、同期したいディレクトリに、 .synk.conf というファイルを作る。 これはシェルスクリプトであり、例えば次のような変数定義を書く。

remote=user@host:/home/user/documents
rsync_opts="--delete --backup --suffix=.bak"

この .synk.conf を置いたディレクトリかその下のディレクトリで synk を実行すると、 .synk.conf があるディレクトリをルートとして $remote と同期する。 synk pull なら remote の内容をローカルにコピーし、 synk push はその逆をする。