ssh経由でファイルやフォルダを自動同期させる『sshync』というものがあるようなので、触ってみることにした。 Lsyncdと同じようなことができるようで、Starの数は多く評判はよさそう。 Node.jsで書かれているようなので、npmを用いてインストールができるようだ。
中身としてはrsyncとfs.watch()を使っているとのことなので、ファイルの変更を検知したら同期処理が走るようだ。
1. インストール
先ほども記述したように、Node.jsで書かれているのでnpmでインストールができる。
npm install sshync -g
blacknon@BS-PUB-UBUNTU-01:~$ sudo npm install sshync -g
[sudo] blacknon のパスワード:
/usr/local/bin/sshync -> /usr/local/lib/node_modules/sshync/sshync.js
/usr/local/lib
mqw sshync@1.1.1
tqw chalk@1.1.3
x tqq ansi-styles@2.2.1
x tqq escape-string-regexp@1.0.5
x tqw has-ansi@2.0.0
x x mqq ansi-regex@2.0.0
x tqq strip-ansi@3.0.1
x mqq supports-color@2.0.0
mqq rsync@0.4.0
2. 実際に使ってみる
インストールができたら、事前準備としてsshの鍵認証設定を行っておこう。 ssh-copy-idなどで鍵をコピーしてやるのが早いだろう。
鍵認証の設定後、以下のコマンドを実行することで同期処理を行える。
sshync ソースPATH ユーザ名@サーバ名:/リモートPATH
サービスとして動かすというより、ちょっとした作業の時にディレクトリの内容をリアルタイムで同期させたいといったときに便利な感じかな。