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"
5条答案
按热度按时间bqucvtff1#
看看inotify。
使用inotify,您可以监视目录中的文件创建。
k2fxgqgv2#
首先确保安装了**
inotify-tools
**。然后像这样使用它们:
字符串
或者,在
inotifywait
上使用--format
而不是-c
也是一个想法。只需
man inotifywait
和man inotifywatch
了解更多信息。您也可以使用**
incron
**来调用处理脚本。gzszwxb43#
我想到的一个解决方案是创建一个“文件侦听器”和一个cron作业,我不喜欢这个,但我认为它可以工作。
hwazgwia4#
fschange (Linux File System Change Notification)是一个完美的解决方案,但它需要修补内核
tct7dpnv5#
看看entr或man entr。
使用entr,您可以比inotify更容易地监视目录中的文件创建或修改。