だから私の状況は、開発ファイルにしたいということです-Ruby&PHP-私が家にいるときと離れているときにすべてのマシンで利用できます。前の質問( Win7/8でWebサーバーをドライブとしてマウントする )バージョン管理ソフトウェアを使用するように言われましたが、ローカルコピーをダウンロードして作業したくないので、新しいバージョンをアップロードし、すべてのマシンに新しいバージョンを再ダウンロードする必要があります。開発者のグループは私だけではなく、開発/デバッグの問題のほとんどはコードの記述と1台のマシンのテストから生じますしたがって、すべてのマシン上のファイルの同期コピーが必要です。
とにかく他の理由で自分のウェブサーバーの1つでownCloudを使用することを考えていたので、Winマシンにファイルへの簡単なアクセスを提供します。私のWinマシンには、GoogleドライブやDropBoxのように動作するownCloud更新クライアントがあり、タイマーと思われるもので同期が行われます。 UbuntuマシンのownCloud更新クライアントはインストールしたくなかったので、デスクトップバージョンとサーバーバージョンを組み合わせて使用しています。だから私のUbuntuマシンは単にdavfs2経由でownCloudディレクトリをマウントし、(これがうまくいけば)cronでrsyncを使用してローカルコピーを作成します-そうすることで、ownCloudファイルを持つサーバーが動作する場合、私のマシンは引き続き動作しますダウン。
しかし、それから私はユニソンの言及に出くわしました。 Unisonは、差分rsyncと同じことを行うためのプログラムのようです。誤解していませんか?
Unisonは、サーバー間でファイルを同期するために構築されているように聞こえるので、リモートサーバーのマウントを維持して実行したり、差分rsyncを実行する前にマウントを再確立したりする必要はありません。しかし、私がUnisonで見つけているチュートリアルはすべて、rootログインにSSHを開かなければならないことを示唆しています。たぶん私は何も心配していませんが、それは悪い考えのようです。
質問:
ありがとう
双方向の同期が必要な場合はUnisonを選択します。これらのシナリオにより適しています。 rsyncでも達成可能ですが。
悪い考えですが、ルートログインは必要ありません。同期するフォルダに書き込む権限を持つ他のマシンへのログインが必要です。これは個人的なものなので、通常のログインを使用するか、Unison専用のすべてのマシンで特別なログインを作成し、それらのフォルダーに対するログイン許可を付与できます。
主に双方向バインドとセットアップの容易さですが、最終的には好みに依存します。両方を試して、どちらが好きかを確認できます。
RsyncまたはUnison syncを実際に呼び出す前に、チェックを実行できます。たとえば、sshfsを使用してリモートマシンのディレクトリをマウントできます。失敗した場合は、同期を開始しないでください。これは、同期スクリプトの一部にすることができます。
主なボトルネックはネットワーク速度であり、Unisonは同期する大量のデータ(約100GB程度)がある場合は遅くなる可能性があります。それ以外の場合、違いはごくわずかです、YMMV。全員の設定は異なります。また、考慮事項の一部として this post も読む必要があります。
Sshfsを使用している場合、 再接続を試す オプション。
これをすべて言ったが、これがコードのためだけである場合、他の人が言ったようにバージョン管理システムを考慮することはまだ良い考えです。自宅のマシンでgitサーバーをホストでき、コードの同期は1回のコマンドで1分以下で済み、マウント、ログイン、接続などを維持するオーバーヘッドがありません。