web-dev-qa-db-ja.com

ホームネットワーク上の2台のPC間でファイル/データを同期する方法

ホームディレクトリ内にほぼ同じファイルを持つデスクトップとラップトップがあります。時々~/Music~/Documentsなどに変更を加えますが、これらの変更はもちろん他のマシンには影響しません。

そのため、ラップトップとデスクトップのホームフォルダー内のすべてのデータを同期するソリューションが必要です。たまにクロスケーブルで接続できます。

Ubuntu OneやDropboxを使いたくありません(ファイルが大きいため、両方がホームネットワーク上にある場合はインターネットを使用する必要はありません)。

11
Gaurav Butola

Dropbox または buntu One をお勧めしますが、コンピューター間で音楽コレクションを同期したいようですが、どちらも特に適していませんそれには次の2つの理由があります。

  • 両方ともインターネットに同期します。つまり、大量のファイルのコレクションがダウンしてアップロードするのに時間がかかることを意味します。
  • 彼らは限られたスペースを提供します(より多くを購入する機能を備えています)、つまり、ファイルの大規模なコレクションのために、あなたはたくさんのお金をフォークしなければならないことを意味します

nison (ローカルレプリケーションに使用するもの)には、これらの制限は(本質的に)ありません。ローカルネットワーク経由で同期できます。つまり、高速で(必要に応じてインターネット経由でも同期できます)、必要なだけ同期できます。利用可能なディスク容量と帯域幅によってのみ制限されます。 UnisonにはGUIとターミナルインターフェイスの両方があるため、デスクトップとサーバーで同じように使用できます。 buntu wikiの優れたガイド があり、Unisonを使用する場合に参照できます。

8
Iain Lane

これに最適なツールは、コマンドラインツール「Rsync」です。 GUIが必要な場合は、Rsyncの概念に基づいたUnisonまたはLuckyBackupを試してください。 UnisonとLuckyBackupは両方ともリポジトリにあります。

Rsyncの例は次のとおりです。

rsync -vxtr/home/scaine/Pictures// home/OtherUser/Pictures /

...これにより、PicturesディレクトリがOtherUserのPicturesディレクトリと同期されます。指定したオプションは、コピーを検証し、コピー中にタイムスタンプ/アクセス許可を保持し、見つかったサブディレクトリを走査します。その他のオプションについては、「man rsync」を実行してください。

PCを一緒に接続する場合-スイッチ/ハブに置くか、クロスオーバーケーブルを使用してから、sambaを介してディレクトリを共有します。

編集:目的が2台のPCを「ミラーリング」することである場合に作成するいくつかの良い点。このコマンドは、ソースから宛先にのみファイルを「追加」します。削除する必要がある場合は、そこにも-deleteオプションが必要です。

調査の結果、Rsyncはミラーリングを特にうまく処理しないnotようです。 これはおそらく、古いファイルが新しいファイルを上書きしていることを認識するためです この更新中に参照してください!さらに悪いことに、-updateオプションを使用してこの動作を防止しても、古いファイルを新しいファイルで「更新」せず、単に「スキップ」します。ほとんど理想的ではありません。

最後に、双方向の同期を実行するには、同じコマンドを実行する必要がありますが、送信元/送信先を逆にする必要があります。もちろん、最初のコマンド(-deleteオプションを使用した場合)がソースに存在しなかった宛先のファイルを削除するため、これは現在使用が制限されています。 Unisonは、メモリからの双方向同期を非常にうまく処理します。

複数の編集内容の同期を真剣にしようとしている場合は、Dropboxソリューションが最善の方法です。 UbuntuOneまたはDropboxのいずれかをもう一度見ることができる場合、シンボリックリンクが解決策になる可能性があります-たとえば、Pictures and MusicをOne/Dropboxから離し、このrsync/unisonソリューションを大きなものに使用しながら、ドキュメントフォルダのみをシンボリックリンクしますか?

7
Scaine

ターミナルを使用したくない、または使用したくない場合のGUIベースの代替手段

grsync 名前はrsyncの基本的なGUIを意味するため。

nison unisonはgrsyncよりも多くの代替バックエンドを使用しますが、それ以外は同じことをします

ソフトウェアセンターから、またはapt-getを使用してインストールできます

1
Allan

簡単な答え:

rsync -vzu [email protected]:/remote/dir/*  /local/dir

-uオプションは日付を比較し、ターゲットの日付がソースの日付よりも古い場合にのみ転送します。

-vは冗長を意味し、-zは圧縮を使用することを意味します。

0
Yan King Yin