我正在监视目录中新文件的创建/移动。我目前正在使用一个简单的ls 循环,我想转到inotify。
我有一个主要问题:如何使用预先存在的文件处理初始化(以防崩溃、重启、停止……)?
最初,我只想监视 IN_CREATE 和 IN_MOVED_TO 但这不会处理预先存在的文件。
它可以通过inotify本地处理吗?
我建议您使用iwatch哪个 perl 程序在内部使用 inotify。(可以将其作为守护程序运行)当您将其设置为使用文件监视文件夹时,您可以简单地touch *
在监视文件夹中运行。这将更新文件的时间戳,并触发 inotify 事件。
如果您需要对创建或移动的文件执行某些操作,请注意 IN_CREATE 事件,因为该事件将在文件创建后立即触发。在这种情况下,您可以使用事件 CLOSE_WRITE,该事件将在文件关闭后触发。
希望这可以帮助!