inotify-tools 是一个用C语言库,一个为Linux提供简单inotify接口的命令行程序。这些程序可以用于监视文件系统事件并执行相应操作。这些程序是用C语言来写的,除了需要Linux内核的inotify支持外,没有其他的依赖。inotify-tools 3.14是目前最新版本,其于2010年3月7日发布。

那么什么inotify又是什么?

inotify,它是Linux在内核 2.6.13 (June 18, 2005)版本中引入的一个新功能,它为用户态监视文件系统的变化提供了强大的支持,允许监控程序打开一个独立文件描述符,并针对事件集监控一个或者多个文件,例如打开、关闭、移动/重命名、删除、创建或者改变属性。

下面脚本目的是: 实时检测nginx访问日志, 提取remote_addr, 并对比iptables配置文件,  如果没有的话就自动更新iptables

安装inotify:

yum install inotify-tools

# 2019-08-17更新:

坑点1: 可以自动修复iptables报错, 方法是查出报错行, 然后递归删除, 之所以要递归删除, 是因为journalctl报错只能看到执行到哪一行报的, 不能显示全部报错行, 只能是依次reload iptables才能找到所有报错行.

坑点2:  之前用journalctl -n 50 -u iptables 去查找最后50行日志, 导致iptables被误删了好多规则, 观察报错, 一般是最后8行是最近一次reload的日志, 所以改成了journalctl -n 7 -u iptables.

monitor.sh:

启动:

加入开机启动:

 

Categories: SECURITY

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *