2012-04-20 8 views
2

現在、ファイルの同期についてR & Dを行っていますが、私はついにrsyncを見つけました。バックアップ中のファイルがプロセス中に更新された場合、rsyncはどのように動作しますか?

コンテキスト:中央のファイルリポジトリとして使用されるサーバーがあり、管理者のみが更新します。いくつかのユーザは、中央リポジトリからファイルシステムを同期させます。一方向の同期です。つまり、ユーザーはリポジトリを更新しません。更新はrsyncで行われます。

のは、少しのシナリオを考えてみましょう:

  1. ユーザーがサーバーからファイルの更新が開始されますとダウンロードが
  2. 管理者がAを作成し、サーバー上のファイルのAとBを更新ファイル「とB」

質問:3番目のステップは何ですか?

  • ユーザのダウンロードB '。彼はAとB 'を持っているため、ファイル間に一貫性のない状態が生じます
  • ユーザのダウンロードB.彼はAとBを持っていますが、結果は一貫性がありますが古い状態になります
  • B'とA '最新の状態
  • 他に何かありますか?

答えて

3

私が知る限り、それはあなたの最初の選択肢です:ユーザーはAとB 'を持っています。これを回避する唯一の方法は、rsyncの前にファイルシステムをスナップショットすることですが、どういうわけかこれは大規模な過度の攻撃のように感じます。

他のソリューションは、

  • は、(1ジップ/ tarファイルにまとめて管理者/ 1更新をAとBを入れたことがあり、これを行う必要があり、他のファイルはまだ第一及び第二の追加の間に更新することができます
+1

おかげ中央リポジトリとして

  • 使用gitの(または別のVCS)を提出、このことができます:) VCSは良い解決策になる可能性があり、私はそれでより深く見ているでしょう。 – aspyct

  • 関連する問題