LoginSignup
5
9

More than 5 years have passed since last update.

プロジェクトディレクトリ共有にDropboxなんて使うな

Posted at

はじめに

家のiMacと持ち出しているMacBookProでプロジェクトディレクトリを同期させたい…………
今までiCloud、Dropbox、GoogleDrive、Nas等を使って試した結果このあたりのツールはファイルサイズというよりファイル数が多いディレクトリの共有が遅いようだ
venderディレクトリ、node_modulesディレクトリはすぐに数千ファイルになり、これが数十プロジェクトになると丸一日かけても同期が終わらないこともある
CPUもやたらと使い、開発中は同期をOFF、終わったら同期をONはしたくない

そこでSyncthing

Go言語で書かれたオープンソースの同期ツール
https://github.com/syncthing/syncthing

すごいところ

  • 他ツールと比べると半端ではなく早い
    laravelプロジェクト30個ほどの同期はDropboxだと丸2日、iCloudだと丸3日かかっても終わらなかったがSyncthingは2時間程度で終わった。
  • WAN越しでもいける
    中継サーバーを使い、IPアドレスではなくDevice IDというコードを使って接続する
  • Win、Mac、iOS、Android対応
  • バージョン管理可能
    ゴミ箱機能、期間別等フォルダ分け等が行えるけど、プロジェクトディレクトリの共有という目的ならいらないかも
  • サーバーにインストールしてクラウドストレージとしても使える

導入方法

dmgを実行するだけ!簡単!
https://github.com/syncthing/syncthing-macos/releases/tag/v1.0.0-2

設定は以下
https://docs.syncthing.net/intro/getting-started.html#installing

おまけ

・開発用DBどうするの問題
docker使おう
プロジェクトディレクトリ内にフォルダとして保存できるから

・やっぱりCPU利用率高いよ問題
cputhrottleいれて以下を実行

#!/usr/bin/env bash
SYNC_THING_ID=`ps -A | grep -m1 syncthing | awk '{print $1}'`
sudo cputhrottle $SYNC_THING_ID 10 &

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9