是否有人拥有可以监控特定目录的shell脚本或实用程序,并查看哪个文件在特定时间段内增长,可能还有多少?
例如,如果我在目录中有以下文件:
myfile1.txt
anotherfile.gz
thisonetoo.tar
脚本可以运行一次,然后在下一次运行时可能会出现类似
的内容myfile1.txt +5MB
anotherfile.gz -10MB
thisonetoo.tar +100MB
答案 0 :(得分:2)
我使用inotifywait
& bash:
cd /path/to/dir
inotifywait -m -e modify -r . |
while read a; do
[[ $a =~ MODIFY[[:space:]]+(myfile1.txt|anotherfile.gz|thisonetoo.tar) ]] &&
du -h "${BASH_REMATCH[1]}"
done
这有利于每N秒避免轮询。
inotify是一种基于inode的文件系统通知技术。它提供了简单地监视文件系统中文件的各种事件的可能性。它是(过时的)dnotify的非常强大的替代品。 inotify为您提供了一种管理应用程序中使用的文件的简便方法。
请参阅inotify doc
(这只是一个开始,你需要更多的代码来获得所需的输出,但现在这很容易)