Skyzi000 / SkyziBackup

ファイル単位で圧縮と暗号化のできる、簡単操作の無料ファイルバックアップソフト
https://skyzibackup.skyzi.jp/
MIT License
2 stars 0 forks source link

ファイルの変更を常に監視することで、効率的に比較できるようにする #77

Open Skyzi000 opened 3 years ago

Skyzi000 commented 3 years ago

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