c++ - 在 Linux 上监视目录的程序

标签 c++ c perl unix

有一个目录,伙伴可以在其中添加产品的新版本。

列表看起来像这样

$ ls path-to-dir/
01
02
03
04
$

其中列出的数字不是文件,而是包含构建的目录的名称。

我每次都必须手动去检查是否有新的构建。 我正在寻找一种自动化方法,以便程序可以在 path-to-dir/ 更新时向某些人(包括我)发送电子邮件。

  • 我们是否有执行此操作的现有实用程序或 Perl 库?

    inotify.h做类似的事情,但我的内核 (2.6.9) 不支持它。

我认为在 Perl 中可以有一个简单的方法。

  • 你觉得这行得通吗?

    Keep running a loop in Perl that does a ls path-to-dir/ after, say, every 5 minutes and stores the results in an array. If it finds that the new results are different from the old results, it sends out an email using Mail or Email.

最佳答案

如果您打算使用 perl,我相信优秀的 File::ChangeNotify模块将对您非常有帮助。它可以使用 inotify(如果可用),还可以使用不同平台提供的各种其他文件监视机制。此外,作为备用,它有自己的 watching 实现,可在每个平台上运行,但效率低于专用平台。

关于c++ - 在 Linux 上监视目录的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3691739/

相关文章:

c++ - 强制用户声明对象常量

c++ - 当窗口大小改变时,如何在 Qt 中自动缩放图表?

c++打包和解包参数包以在没有STL的情况下调用匹配的函数指针

perl - 在 Perl 正则表达式编译中使用未初始化值

C++ 创建固定大小的队列

c - 在旋转排序数组中查找枢轴点

c - 关闭 ncurses 窗口后返回正常终端 I/O

c - 在 C 中打印一个带有两位小数但没有尾随零的 float

perl - Perl将图像转换为base64

perl - 是否可以将命名管道与 perl 中的 select 混合使用?