
自宅にある複数のコンピューター間で個人文書リポジトリを同期したいと考えています。現在、このフォルダーはデュアル ブート ワークステーションのハード ドライブの専用パーティションの下にあります。
私の設定は次のとおりです。
- Ubuntu 11 と Windows XP を実行するデュアル ブート ワークステーション (ドキュメントは専用パーティションを使用して単純に共有されます)
- Ubuntu 12.04 を実行しているラップトップ (今日はドキュメントにアクセスできません)
- 外付けハードドライブが接続されたフリーボックス
私が望んでいるのは、このドキュメント フォルダーをラップトップとも同期でき、さらに、フリーボックスに接続されたハード ドライブにこの「バックアップ」を作成できることです。
これにはどのようなツールを使用すればよいですか ( rsync
、、unison
その他)?
答え1
常に同じ方向に同期する場合は、rsync を使用します。双方向に同期する場合は、unison を使用します。Unison は Linux と Windows の両方をサポートしています。ドキュメントには、Windows での設定方法が説明されています (SSH クライアントも必要になります)。
2 か所以上の場所間で同期するには、1 か所をマスターとして選択し、他のすべての場所をマスターと同期します。ここでは、ワークステーションとラップトップの両方を Freebox と同期するように設定します。
Freebox には unison バイナリが必要です。Freebox は Linux を実行し、x86 プロセッサを搭載しているため、unison がまだインストールされていない場合は、任意の 32 ビット Linux インストールからバイナリをコピーできます。
答え2
rsync は、複数の場所にある同じドキュメントの更新を自動的に処理しないため、要件を満たしていないと思います。ファイルの削除についても同様です。手動でこれを行うこともできますが、いずれ問題が発生するはずです。
私は unison を使ったことがありませんが、あなたのユースケースには適切なツールのようです。
とはいえ、Mercurial、Git、Bazaar などの分散バージョン管理システムについても触れておきたいと思います。これらのシステムには、ドキュメントの古いバージョンが失われないという追加の利点があります。ただし、これらのシステムはテキスト ファイルの処理に最適です。LibreOffice ドキュメントなどのバイナリでは、同じドキュメントが複数のマシンで変更される場合、より多くの作業が必要になります。
アップデート:3 台目のマシンに実際のバックアップを保存したい場合は、古いファイルが保持される別のバックアップ ソリューションの使用を検討する必要があります。rsync でも同様に実行できます (オプションを省略した場合--delete
)。ただし、これもいずれ問題になります。古いファイルによってドキュメント フォルダーがいっぱいになり、古い削除済みファイルと同じ名前の新しいファイルによって古いファイルが上書きされてしまいます。
これには、dejadup、duplicity、rsnapshot、rdiff-backup などのシンプルなバックアップ システムを使用できます。
答え3
私は ssh 経由で rsync を使用します。バックアップには次のトリックを使用できます:
http://www.mikerubel.org/computers/rsync_snapshots/
基本的に、私は ssh キーと cron ジョブを使用して rsync を設定しました。上記のリンクには、そのほとんど (またはすべて) が記載されています。
私もバックアップに duplicity を使用していますが、お勧めするのは躊躇します。機能はしますが、扱いにくいです。