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


11

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

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

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


また、Dropboxはネットワーク同期も提供するため、必ずしも間違ったツールとは限りません。
ターボ

回答:


8

少数のファイルについてはDropboxまたはUbuntu Oneをお勧めしますが、コンピューター間で音楽コレクションを同期したいようですが、これらはどちらも2つの理由で特に適していません。

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

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


1
これはまさに私が探しているものですが、その中に問題がありますimgur.com/Apqbq.png他の人もユニゾンで同じ問題を抱えています。あなたは解決策を知っていますか?
ガウラブブトラ

1
:うーん、私は自分自身が、私はあなたがに目を維持したい場合がありますことを、次のDebianのバグを見つけたことを見ていないbugs.debian.org/cgi-bin/bugreport.cgi?bug=252336での問題のような音-中断されるプログラム。言及されているファイルを削除してみて、もう一度試してください。永続的な場合は、コマンドラインバージョン(私が使用しているバージョン)の方が幸運かもしれません。申し訳ありませんが、これ以上のお手伝いはできません。
イアンレーン

ご協力いただきありがとうございます。これはまさに私が欲しかったものです。本当に素晴らしいツールです。ユニゾンを使用してSSHでデータを同期しています。
ガウラブブトラ

7

これに最適なツールは、コマンドラインツール「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はミラーリングを特にうまく処理していないようです。この更新中に古いファイルが新しいファイルを上書きする可能性があることを理解するには、これを参照してください!さらに悪いことに、-updateオプションを使用してこの動作を防止しても、古いファイルを新しいファイルで「更新」せず、単に「スキップ」します。ほとんど理想的ではありません。

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

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


両方の/ home全体を同期しますが、実行するのは正しいでしょうか?rsync -vxtr / home / user1 / home / user2は双方向の同期を行いますか?ドキュメントの最新の編集されたコピーを保持するのですか、それともファイルが存在する場合は無視するのですか?
ガウラブブトラ

元の質問に対する私の編集を参照してください。
スケイン

1

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

grsyncという名前は、基本的なGUIを意味しrsyncます。

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

ソフトウェアセンターから、または apt-get


0

簡単な答え:

rsync -vzu user@ip.address:/remote/dir/*  /local/dir

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.