因此,在寻找一种方法来找出何时创建文件以启动副本的方法时,我找到了InotifyWait,但似乎对我不起作用。<<<<<<<<<<<</p>
我正在使用Redline倾倒远程计算机的内存,并具有脚本,以便它可以找到正确的目录和文件,但是当我尝试设置InotifyWait时,它只是挂起,永远不会返回该文件已完成(我想知道该文件是否通过redline打开,直到完成整个扫描,即使完成了实际的内存图像?)
我尝试了
inotifywait -m -e create fileName
和
inotifywait -m -e close_write fileName
,但似乎都没有起作用。他们说创建了手表,但是在文件不再写信后很长时间就挂在那里。而且我不知道如何检查远程计算机是否仍然在文件上打开句柄... CP肯定仍然有效,而Tail -F清楚地显示了该文件未写入。是否有一个优雅的解决方案来通知我的文件脚本已准备好复制?
您要求它永远不会退出:
-m, --monitor
Instead of exiting after receiving a single event, execute
indefinitely. The default behaviour is to exit after the
first event occurs.
它等待无限地,尝试inotifywait -e close_write fileName
另一种方法是用--timeout / -t
实现繁忙的循环,但这是连续数据输入:
while inotifywait -e modify -t 15 fileName; do
echo "something was written in the last 15 seconds"
done
echo "no activity for 15 seconds. done?"