Python中的目录校验和?

3

我正在进行基于web的文件系统抽象层开发。类似于文件浏览器,但它具有一些额外的功能,如权限等。

我希望用户能以某种方式被通知目录的更改情况。例如,当有人通过FTP上传新文件时,特定的用户应该收到适当的消息。消息没有必要非常详细,我不需要显示确切更改的资源,父目录名称就足够了。

您会推荐哪种方法?

3个回答

2
如果您的服务器是Linux,您可以使用类似于inotify的工具来完成此操作。
如果更新只来自FTP,则我过去使用的另一种解决方案是编写一个附加模块到ProFTPD中,在上传完成后执行“通知”操作。

1

请参考这个问题:如何快速查找添加/删除的文件?

但是,如果您可以控制上传方式(例如使用HTTP POST而不是FTP),您可以在上传完成后简单地发送通知。这样做的额外好处是可以轻松确保用户永远不会看到部分文件。


我更喜欢使用FTP,因为那里存储的文件每个都大于200 MB。 - ohnoes
+1:编写上传事务。编写自己的FTP客户端,添加通知功能。 - S.Lott
S.Lott:听起来像是要重复造轮子。而且,如果让我的用户使用我自己的客户端,他们会把我钉在十字架上的 ;) - ohnoes
S.Lott:你只需要连接到服务器(-> Van Gale的回答) - Aaron Digulla

0
一个简单的方法是监视/检查工作目录的最后修改日期(例如使用os.stat())。
每当目录中的文件被修改时,工作目录(文件所在的目录)的最后修改日期也会改变。
至少在我正在使用的文件系统上(ufs、ext3),这种方法是可行的。我不确定所有的文件系统是否都是这样做的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接