【问题标题】:How to track file modifications in unix? [duplicate]如何在 unix 中跟踪文件修改? [复制]
【发布时间】:2014-05-14 02:30:37
【问题描述】:

我想问你,如何使用 c 在 unix 上跟踪文件事件(例如创建、更新、删除等)?

【问题讨论】:

  • 对于 Linux,您可能想在这里阅读:man7.org/linux/man-pages/man7/inotify.7.html
  • 谢谢!我认为这就是我需要的。
  • 也许使用 SVN/GIT/Mercurial?
  • 我需要编写自己的跟踪文件事件实现,能够向服务器发送信息。

标签: c unix ubuntu


【解决方案1】:

使用inotify

来自手册页:

inotify API 提供了一种用于监视文件系统事件的机制。 Inotify 可用于监视单个文件或监视目录。当一个目录被监控时,inotify 将返回目录本身的事件,以及目录中的文件。

基本上你用inotify_init创建一个inotify实例,它返回一个fd,然后用inotify_add_watch添加一些手表。然后,您可以在fdselect,并会收到与您所做的手表相关的任何更改的通知。

【讨论】:

    【解决方案2】:

    Unix 原生包不提供任何东西来维护文件版本。 您可以使用 SVN unix 工具来维护版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-04
      • 2012-02-20
      • 2016-02-07
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 2015-02-03
      • 2018-11-20
      相关资源
      最近更新 更多