就像一个类似的SO问题,我试图监视Linux机器上的目录以添加新文件,并希望在它们到达时立即处理这些新文件.有关实施此方法的最佳方法的任何想法?
首先确保inotify-tools
已安装.
然后像这样使用它们:
logOfChanges="/tmp/changes.log.csv" # Set your file name here. # Lock and load inotifywait -mrcq $DIR > "$logOfChanges" & IN_PID=$$ # Do your stuff here ... # Kill and analyze kill $IN_PID while read entry; do # Split your CSV, but beware that file names may contain spaces too. # Just look up how to parse CSV with bash. :) path=... event=... ... # Other stuff like time stamps? # Depending on the event… case "$event" in SOME_EVENT) myHandlingCode path ;; ... *) myDefaultHandlingCode path ;; done < "$logOfChanges"
或者,使用--format
而不是-c
on inotifywait
将是一个想法.
只是man inotifywait
与man inotifywatch
更多的相关信息.
您还可以incron
使用它来调用处理脚本.
看看inotify.
使用inotify,您可以查看用于创建文件的目录.