我正在寻找一种良好且稳定的方法来监控 NAS(作为共享安装)上的文件更改(创建/删除/重命名等)。
我知道.NET 提供了一个FileSystemWatcher -Object,但我听说它在远程存储设备上不可靠。
我正在考虑轮询远程设备并检查这些文件是否已更改(与以前收集的文件属性不同)。
编辑:具体要求:
- 监控 NAS 上目录上的文件/文件夹更改(给定路径,可能还有某种过滤器)
- 记录更改:最好是在文件级别,说“文件-x 重命名/创建/删除”,但也可以在文件夹级别,说“文件夹-x 中的某些内容发生了变化”
- 能够运行外部可执行文件
- 在 WinServer 上作为 Windows 服务运行(不需要特定的 .NET 版本)
是否有任何通用技术或最佳实践来解决这个问题?
编辑:如何唯一标识一个文件?
无法通过名称识别文件(因为它可以更改)。
但是是否可以像 Onkelborg 建议的那样使用最后修改/创建的时间戳(毫秒,以 64 位整数表示)唯一地标识文件?或者你还有其他想法吗?