使用inotify-tools监控文件变化并打印输出日志

本次需求:监控linux服务器文件变化情况,主要是短时间内大量删除文件的异常情况。

1.inotify-tools安装配置

见此

2.shell脚本编写

#!/bin/sh
time_last="" #上一分钟
delete_time=0 #删除次数
log=""	#每分钟日志
#/inotify-logs/test 监控文件
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%y/%m/%d %H:%M' --format  '%T %w%f %e' --event delete /inotify-logs/test | while read  date time file event
  do
      case $event in
			DELETE|DELETE,ISDIR) #只判断删除
				if [ "$(date "+%Y%m%d%H%M")" != "$time_last" ] #是否为上一分钟
				then 
					time_last=$(date "+%Y%m%d%H%M")	#更新为本次分钟
					delete_time=0
				else
					delete_time=`expr $delete_time + 1`
					if [-z "$log"]
					then
						log="$event'-'$file'-'$date'-'$time"
					else
						log="$log\n$event'-'$file'-'$date'-'$time"
					fi
					if [ $delete_time -gt 100 ] #1分钟内删除文件数大于100
					then
						echo $log >> /inotify-logs/$(date +%Y)$(date +%m)$(date +%d).log	#写入以日期为名的日志
						log=""
					fi
				fi
              ;;
      esac
  done

3.nohup 后台执行

安装
使用

sudo chmod -R 777 /root/inotify-logs/web_watch.sh #赋予权限
nohup /root/inotify-logs/web_watch.sh > /root/inotify-logs/watch.log 2>&1 & #执行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值