使用python进行目录校验和?

时间:2009-03-16 08:22:53

标签: python file filesystems checksum

所以我正处于基于Web的文件系统抽象层开发的中间。 就像文件浏览器一样,除了它有一些额外的功能,如怪异的权限等。

我希望用户以某种方式获得有关目录更改的通知。 因此,当有人通过FTP上传新文件时,某些用户应该收到正确的消息。消息不需要额外详细,我不需要显示更改的确切资源。父目录名称应该足够了。

你会推荐什么方法?

3 个答案:

答案 0 :(得分:2)

如果您的服务器是Linux,则可以使用inotify

之类的方式执行此操作

如果唯一的更新来自FTP,那么我过去使用的另一个解决方案是向ProFTPD编写一个附加模块,在上传完成后执行“通知”。

答案 1 :(得分:1)

请参阅此问题:How to quickly find added / removed files?

但是如果你能以某种方式控制上传(即使用HTTP POST而不是FTP),你可以在上传完成后发送通知。这具有额外的好处,即确保用户永远不会看到部分文件会很简单。

答案 2 :(得分:0)

一种简单的方法是监视/检查工作目录的最后修改日期(例如使用os.stat())。

每当修改目录中的文件时,工作目录(文件所在的目录)的上次修改日期也会发生变化。

至少这适用于我正在处理的文件系统(ufs,ext3)。我不确定所有文件系统都是这样做的。