使用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 & 后台执行