Syncthingってなあに?
Syncthingはリアルタイムな同期ツールです。オープンソースでマルチプラットフォームです。中央サーバを用意さえすればDropbox等のクラウドストレージと同等に使えます。
導入
Windows Server 2012 R2(サーバ)とWindows10(デスクトップ)でやってみます。
Chocolateyから。
C:> choco install syncthing
起動
インストール完了後、そのままsyncthingと打ちます。
C:> syncthing
この作業をサーバとデスクトップ双方で行います。
完了したら、Webブラウザでhttp://127.0.01:8384を開きます。(Syncthing起動完了後自動でWebブラウザが開きます。)
デバイス追加のボタンを押します。(サーバ、デスクトップどちらでも構いません。)
コンソール出力のMy ID:を同期させたい相手に渡します。
フォルダを追加ボタンで同期させたいフォルダを追加します。
相手方に追加承認のメッセージが出るので、追加ボタンで追加します。
初回設定直後は同期完了まで時間がかかります。
こんな感じでレポートが出せます。
Linuxでも
~ $ curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
~ $ echo "deb http://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list
~ $ sudo apt-get update
~ $ sudo apt-get install syncthing
または、公式からtar.gzをダウンロード
~ $ cd Downloads/
~/Downloads $ tar xzvf syncthing*.tar.gz
~/Downloads/syncthing-linux-amd64-v0.12.24 $ sudo cp syncthing /usr/local/bin
~/Downloads/syncthing-linux-amd64-v0.12.24 $ cd ~
~ $ syncthing
~ $ syncthing
参考
How To Install and Configure Syncthing to Synchronize Directories on Ubuntu 14.04 -DigitalOcean
常駐させる
実運用するには、サービス化して裏で自動実行せたいものです。
実行ファイルsyncthing.exeをスタートアップやタスクスケジューラに登録させるのも手ですが、WindowsにはサードパーティのSynctrayzorというタスクトレイ(システムトレイ)常駐ツールがあります。
C:> choco install synctrayzor
自動起動を設定しておくとログインとともに起動、タスクトレイに常駐しDropboxアプリっぽく同期してくれます。
こんなかんじ。
Syncthingは使えるか?
自宅サーバがあるのであればSyncthingを導入することにより、クラウドストレージの代用として利用できます。中央サーバはもちろんLinuxでも可能。出来合いのNASのような場合はシステムを弄れば使用できますが、最近は機能として同等のな同期機能を揃えている機種があるので、NAS利用者には需要がないかもしれませんね。
リソース喰いに関して
SyncthingとSynctrayzorを合計してもDropboxより低く、インストールした機器を比較し環境を考慮しても尚、WindowsではSyncthingのほうが効率的といえます。パフォーマンスは計測は行っていませんが、体感的には即時反映され高速に同期するうようにみえます。
拠点間通信について
各PCはグローバルなIPを持っていないので拠点間通信には中継用のサーバが必要です。現在拠点を結ぶ中継サーバは無償で提供されています。もちろんストレージサービスではないので、データを置くことはないのですが、それでもタダで利用させてもらっているので恐縮します。
以上、Syncthingでした。
関連
公式 https://www.syncthing.net/
documentation https://docs.syncthing.net/