【问题标题】:Directory checksum with python?使用python的目录校验和?
【发布时间】:2009-03-16 08:22:52
【问题描述】:

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

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

你会推荐什么方法?

【问题讨论】:

    标签: python file filesystems checksum


    【解决方案1】:

    如果您的服务器是 Linux,您可以使用 inotify 之类的东西来完成此操作

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

    【讨论】:

      【解决方案2】:

      看到这个问题:How to quickly find added / removed files?

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

      【讨论】:

      • 我更喜欢 FTP,因为存储在那里的文件每个都 > 200 MB。
      • +1:写入上传事务。编写您自己的添加通知的 FTP 客户端。
      • S.Lott:听起来像是在重新设计轮子。此外,如果我要求他们使用我自己的客户端,我的用户会将我钉在十字架上;)
      • S.Lott:你只需要钩入服务器(-> Van Gale 的回答)
      【解决方案3】:

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

      每当修改目录中的文件时,工作目录(文件所在的目录)的最后修改日期也会更改。

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

      【讨论】:

        猜你喜欢
        • 2018-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 2012-02-28
        相关资源
        最近更新 更多