我需要编写一个简单的备份组件来同步文件夹及其子文件夹到服务器。对于增量备份,我只想上传更改过的文件。跟踪文件系统中的更改的最佳方法是什么?一些现有的软件,如tortoisesvn和office groove,具有检测文件变化的能力。我想知道实现类似事情的最佳方式是什么。
谢谢!
发布于 2009-03-16 16:20:09
你的问题有点模棱两可:
如果您正在尝试浏览所有文件并确定哪些文件需要发送到备份服务器,请执行:
最简单的方法是比较修改时间;如果本地系统上的文件是在备份系统上的文件之后被修改的,那么它已经更改了,需要更新备份。(可以使用像touch
这样的东西修改文件的修改时间,但对于简单的情况,您可能不需要担心这一点)
一种更复杂(计算成本也很高)的方法是计算文件的散列码,然后进行比较;如果散列值不同,则需要进行备份。
如果您正在尝试检测文件被更改的时刻,请执行:
您可以使用FileSystemWatcher
(在C#/Windows中),或与您的语言/OS等效的语言。
发布于 2009-03-16 16:21:41
如果是Mac,有一种叫做FSEvents的东西。在Windows中肯定也有一些服务可以做到这一点。
https://stackoverflow.com/questions/651094
复制相似问题