linux – 检测文件是否被修改,即使在最后一秒内,也没有散列?
这适用于Mac,但它也可能适用于
Linux,所以我已经标记了它.
我正在通过目录递归并获取具有文件系统属性的树. 然后每当窗口重新聚焦时我再次(再次)再次递归.当我读取目录时,我正在寻找任何已修改并需要对其进行操作的文件. 想到的显而易见的事情是比较每个文件的修改日期,但是我的单元测试证明这不可靠,因为测试本身在不到一秒的时间内执行…结果是我的测试更改的文件被视为未经修改(因为它只精确到1秒). 到目前为止,我的修复方法还是比较了文件大小,但这样做的风险是,如果文件被更改,并且结果大小相同,它也将无法检测到. 远非散列每个文件,这是不可行的(在递归整个目录树时太慢),HFS / HFS提供的其他东西我可以使用吗?喜欢附加到文件的某种版本号/修改计数?我担心没有,虽然实际上文件的边缘情况变化与我的单元测试一样快,但是在实际用例中不太可能是一个问题. 解决方法
实时,最少负载的解决方案:
> Linux:inotify 请注意,有关修改时间分辨率的问题仅针对HFS+. 最常用的跨平台解决方案是File Alteration Monitor. 其他链接: > detect if something is modified in directory,and if so,backup – otherwise do nothing (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |