inotify 实时的Linux文件系统事件监控

使用inotify-tools 工具实时监控系统事件监控
inotify-tools
http://linux.die.net/man/1/inotifywait
inotify-tools 下载地址
# wget http://downloads.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz
 
监控脚本:
# cat file_file_inotifywait.sh
#!/bin/sh
inotifywait=/usr/local/bin/inotifywait
monitor_dir=/opt/web/
$inotifywait -mr \
        -e create,move,delete,modify \
        --timefmt '%Y-%m-%d %H:%M' \
        --format '%T %e %w%f ' \
        --exclude upload \
        $monitor_dir > /var/log/file_list
 
 -e create,move,delete,modify 监控系统事件:创建,移动,删除,修改
--exclude upload 排除upload目录
 
事件监控日志 /var/log/file_list
2012-11-16 09:08 CREATE /opt/web/test.php
2012-11-16 09:08 MODIFY /opt/web/sord.html
可以详细查看什么时间文件创建,或者修改了文件。
 
可根据实际情况,将非系统创建文件自动删除
删除脚本如下:
# cat file_del.sh
#!/bin/sh
file_list=/var/log/file_list
del_file_list=/var/log/del_file_list
while [ true ]
do
        grep CREATE $file_list > $del_file_list
        while read file
        do
                del=`echo "$file" | awk '{print $4}'`
                if [ -f $del ];then
                        rm -f $del
                fi
        done<$del_file_list
sleep 10
done
 # 执行 ./file_del.sh & 后台执行

推荐阅读:

相关推荐