监视文件夹树以进行更改并在创建文件时运行脚本 - linux

时间:2014-07-10 21:22:08

标签: linux shell

我正在尝试创建一个运行shell脚本的后台,该脚本会在文件树中创建文件时检查,检查文件名是否符合特定条件,通过电子邮件发送文件,然后移动它。

该应用程序 - 通过电子邮件发送FreePBX电话录音。

文件存储在/ var / spool / asterisk / monitor / yyyy / mm / dd /

例如 - / var / spool / asterisk / monitor / 2014/07/10 / conf-220-220 ......

因此,在创建录制内容时,会根据文件名检查录制内容,然后通过电子邮件将其移出文件夹。

我看到了关于inotify-tools的建议,但网站上的最新消息是从2010年开始的。

我也看到了incron,但是想要的东西很可能会弄乱我的电话系统(我害怕安装程序)

inotify.aiken.cz/?section=incron&page=doc&lang=en

  

由于此版本较早,因此它不包含标准的可移植构建机制(例如autotools)。只有一个Makefile必须手动修改。在许多Linux系统上,您无需进行任何更改。

1 个答案:

答案 0 :(得分:6)

inotify已经存在了一段时间,它很稳定,并且是许多发行版主流的一部分。

如何安装:

在Ubuntu上:

sudo apt-get install inotify-tools

在Centos / RHEL上(来自EPEL回购):

yum --enablerepo epel install inotify-tools

使用方法:

inotifywait -re create /tmp/test1/ && echo "Change detected"

创建文件后,echo "change detected"将被触发,这可能就是任何事情。

你得到的输出:

Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/tmp/test1/test2/test3/ CREATE file
Change detected

PS。 -r用于递归-e create来检测新文件。