我正在尝试创建一个运行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系统上,您无需进行任何更改。
答案 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
来检测新文件。