监视文件夹树中的更改,并在创建文件时运行脚本-linux
我正在尝试创建一个后台运行的shell脚本,该脚本将在文件树中创建文件时注意到,检查文件名是否符合特定条件,通过电子邮件发送文件,然后移动它 应用程序-通过电子邮件发送FreePBX通话记录 文件存储在/var/spool/asterisk/monitor/yyy/mm/dd中/ 例如-/var/spool/asterisk/monitor/2014/07/10/conf-220-220 因此,在创建录音时,它会根据文件名检查录音对象,发送电子邮件,然后将其移出文件夹 我看到了关于inotify工具的建议,但网站上的最后一条新闻是2010年的 我也看到了incron,但想要的东西有一个小的机会弄乱我的电话系统(我害怕安装程序) 因为这个版本还很早,所以它不包含标准的可移植构建机制(例如自动工具)。只有一个Makefile必须手动修改。在许多Linux系统上,您无需更改任何内容监视文件夹树中的更改,并在创建文件时运行脚本-linux,linux,shell,Linux,Shell,我正在尝试创建一个后台运行的shell脚本,该脚本将在文件树中创建文件时注意到,检查文件名是否符合特定条件,通过电子邮件发送文件,然后移动它 应用程序-通过电子邮件发送FreePBX通话记录 文件存储在/var/spool/asterisk/monitor/yyy/mm/dd中/ 例如-/var/spool/asterisk/monitor/2014/07/10/conf-220-220 因此,在创建录音时,它会根据文件名检查录音对象,发送电子邮件,然后将其移出文件夹 我看到了关于inotify
inotify
已经存在了一段时间,它很稳定,是许多发行版主流的一部分
如何安装:
在Ubuntu上:
sudo apt get install inotify tools
在Centos/RHEL(来自EPEL回购):
yum--enablerepo-epel安装inotify工具
如何使用:
inotifywait -re create /tmp/test1/ && echo "Change detected"
创建文件后,echo“检测到更改”
将被触发,这几乎可以是任何内容
您得到的输出:
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创建
以检测新文件。谢谢,这是我的脚本:/bin/sh
为true时;执行
inotifywait-重新关闭写入/var/spool/asterisk/monitor/
/usr/local/bin/send\u rec.sh完成