2009-03-16 14 views
1

私は、フォルダとそのサブフォルダをサーバに同期するための簡単なバックアップコンポーネントを書く必要があります。増分バックアップでは、変更されたファイルのみをアップロードします。ファイルシステムの変更を追跡する最良の方法は何でしょうか? tortoisesvnやoffice grooveなどの既存のソフトウェアの中には、ファイルの変更を検出する機能があります。私は似たようなものを実装する最良の方法は何か疑問です。ファイルシステムを同期すると、ファイルが変更されたかどうかを検出する方法は?

ありがとうございます!

+0

プログラミング環境? –

+1

「変更を検出する」と言ったら、ファイルがバックアップと異なるかどうかを判断するか、ファイルが変更されているときに対応したいのですか? –

答えて

2

ご質問はややあいまいです:

あなたのファイルをすべて通過し、バックアップサーバに送信する必要があるものを判断しようとしている場合:

最も簡単な方法は、比較することです変更時刻。ローカルシステム上のファイルがバックアップシステムの1つ後に変更された場合、そのファイルは変更され、バックアップを更新する必要があります。 (touchのようなものを使ってファイルの修正された時刻を修正することは可能ですが、単純なケースではおそらくこれについて心配する必要はありません)

もっと複雑なファイルのハッシュコード、およびそれらを比較する。ハッシュが異なる場合は、バックアップを行う必要があります。あなたは、ファイルが変更された瞬間を検出しようとしている場合

あなたはあなたの言語/ OS用のFileSystemWatcher(C#/ Windowsの場合)、または同等のものを使用することができます。

1

Mac OS XにはFSEventsというものがあります。それにはWindows用のサービスも必要です。

関連する問題