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