1 个不稳定版本
0.1.0 | 2020 年 10 月 26 日 |
---|
#1571 在 文件系统
5KB
变更日志
此库为 Linux 和 Windows 提供了一个统一的变更日志 API。也就是说,它允许您监视整个文件系统、挂载点以及/或卷的文件变更事件。
在 Linux 上,它使用 fanotify
API。
在 Windows 上,它使用 USN 日志 API。
目前,两个后端都不受支持。首先将添加 Linux 的 fanotify
后端,然后是 Windows 的 USN 日志后端。
权限
在 Linux 上,使用 fanotify
需要具有 CAP_SYS_ADMIN
权限(即 sudo
)。
在 Windows 上,读取 USN 日志需要管理员权限。
支持的操作系统
fanotify
需要 Linux 支持,它添加在 Linux 内核版本 2.6.37 中。然而,许多有用的 fanotify
操作仅在 Linux 内核版本 5.1 中添加。
NTFS USN 日志在 Windows 上已经存在很长时间了,至少从 Windows 7 开始。对于此版本,不应该有任何问题。
macOS 目前不受支持,主要是因为此库可以启用的实时文件搜索功能已经被 Spotlight 非常好地满足了。
路线图
-
向 file-descriptors crate 贡献或分叉以包含对较新
fanotify
API/标志的支持。不需要真正的新代码,只需添加新的标志。 -
使用 file-descriptors crate 实现
fanotify
后端。 -
实现 USN 日志后端。
-
与文件搜索程序(如 lolcate)集成,以提供实时文件系统监控,从而无需执行缓慢的手动索引。
依赖项
~0.3–1MB
~19K SLoC