Open Skyzi000 opened 3 years ago
macOSのTime MachineがFSEventsを使って効率的に処理してるらしいので真似てみようというもの。 毎回バックアップ対象をフルスキャンする必要はなくなる。
System.IO.FileSystemWatcher を使って監視し、変更されたファイルをデータベース上に記録しておくといった感じで実装できるとは思う。 ただ本アプリにおいて常時起動は想定していないので、監視するためのツールが別途必要になりそう。 常時監視のためのコストも必要になるので、実装するとしても現在の動作と切り替え可能なオプションとしたい。 あと、対象ファイルが多いとバッファオーバーフローとかで厳しそう……?(ここら辺は試してみる必要がある) SMB共有などネットワーク越しでの監視も難がありそう。
System.IO.FileSystemWatcher
https://ja.wikipedia.org/wiki/Time_Machine_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2) https://docs.microsoft.com/ja-jp/dotnet/api/system.io.filesystemwatcher?view=net-5.0
macOSのTime MachineがFSEventsを使って効率的に処理してるらしいので真似てみようというもの。 毎回バックアップ対象をフルスキャンする必要はなくなる。
System.IO.FileSystemWatcher
を使って監視し、変更されたファイルをデータベース上に記録しておくといった感じで実装できるとは思う。 ただ本アプリにおいて常時起動は想定していないので、監視するためのツールが別途必要になりそう。 常時監視のためのコストも必要になるので、実装するとしても現在の動作と切り替え可能なオプションとしたい。 あと、対象ファイルが多いとバッファオーバーフローとかで厳しそう……?(ここら辺は試してみる必要がある) SMB共有などネットワーク越しでの監視も難がありそう。参考
https://ja.wikipedia.org/wiki/Time_Machine_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2) https://docs.microsoft.com/ja-jp/dotnet/api/system.io.filesystemwatcher?view=net-5.0