2012-09-17 13 views
27

私はすべてのサブツリーと1つのフォルダの同期コピーを持っていると思います。2つのフォルダを自動的に同期させておく方法は?

自動的に動作するはずです。元のフォルダからスタッフを作成、変更、削除するたびに、それらの変更が自動的に同期フォルダに適用される必要があります。

このタスクにはどのアプローチが最適ですか?

がところで:私はUbuntuの上だ12.04

最終的な目標は、マウントOシンボリックリンクを使用せずに、分離リアルタイムのバックアップコピーを持つことです。 Ubuntu Oneを使用してコンピュータ間でデータを同期し、しばらくして何かがうまくいかず、同期中にすべてのデータが失われました。

だから、私は、データのバックアップコピーを維持するために更なるステップを追加するために考えた:

  • 私は
  • 「フォルダ」に保存されている自分のデータを保持し、私は私の現在の質問の答えを必要とします「フォルダA」から「フォルダB」への一方向の同期を作成します(rsyncを使用したスクリプトはcronですか?)。私はAからBへの一方向のみであることを、それを必要とし、Bへの変更はA.に適用されてはならない
  • のIは、単にこのよう変更中ではUbuntuの一つ

    で「フォルダB」同期続けますAはU1から検出され、クラウドに同期されるBに適用されます。
    何かがうまくいかないと、U1がBに自分のデータを削除した場合、私はいつもlanzzのコメントに触発A.

上でそれらを持って、別のアイデアは下バックアップに起動時にフォルダの内容をrsyncを実行することができUbuntu Oneを起動し、rsyncがコンパイルされた後で初めてUbuntu Oneを起動します。 あなたはどう思いますか? rsyncがいつ終了するのかを知る方法は?

+0

あなたは何を達成しようとしていますか?フォルダを本当に別にする必要がありますか、ある名前を別の名前にシンボリックリンクすることはできませんか、ディレクトリを[bind-mount](https://www.google.com/search?q=linux+mount+bind)に二次的な場所?また、[検索結果](https://www.google.com/search?q=sync+inotify)をご覧ください。 – lanzz

+0

@lanzz:私の編集を参照してください –

+0

cronによる定期的な 'rsync'を優先して、実際のライブ同期(つまり、ソースディレクトリのファイル変更を継続的に監視)​​することをお勧めします。 – lanzz

答えて

14

rsyncのチュートリアル(here)をご覧ください。

onchange scriptもご覧ください。 - 前者は正しいオプションを持つミラーは、設定ツール、最後のビットへのディレクトリです https://github.com/axkibe/lsyncd それはrsyncをとのinotifyを兼ね備えたツールです:

+1

@alfC:逆に、Googleは永久にページをキャッシュしません。代わりにWaybackMachineを使用してください。 – Nirmal

24

inotifywaitmodify,create,deleteフラグが有効)とrsyncを使用できます。

while inotifywait -r -e modify,create,delete /directory; do 
    rsync -avz /directory /target 
done 
関連する問題