细节场景:
我正在创建一个从教师向学生提交文件的自动化流程,反之亦然.发件人将上传文件,它将以格式ex中存储在LAMP服务器的Uploads目录中. “name_course-name_filename.pdf”.我想要一些方法,以便当任何文件存储在Uploads文件夹中时,同时调用脚本并将该文件发送到receive列表.
从数据库中我可以找到该特定课程和学生的接收者列表.
我唯一关心的问题是,如果目录内容发生变化,如何自动调用脚本并使其在单个文件上工作. Cron将间隔但不是实时工作.
解决方法 Linux为此提供了一个很好的机制,称为inotify
.inotify主要作为C API提供.但是也开发了shell实用程序.你应该使用inotifytools中的 inotifywait
(debian中的pkg名称).这是一个基本的例子: #!/bin/bashdirectory="/tmp" # or whatever you are interested ininotifywait -m -e create "$directory" |while read folder eventList eventfiledo echo "the following events happened in folder $folder:" echo "$eventList $eventfile"done
更新:
如果问题变得复杂,例如你必须监视递归的动态目录结构,你应该看看incron它是一个像守护进程一样的cron,它在某些事件上执行脚本.但事件是文件系统事件而不是计时器事件.
总结以上是内存溢出为你收集整理的linux – 如何在目录内容变化时自动调用bash脚本全部内容,希望文章能够帮你解决linux – 如何在目录内容变化时自动调用bash脚本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)