监控linux空间变化,Linux监控文件变化及主动上报实现
一、说明
最近在做一些主机的自动化检查操作,每次都是定时主动去扫描。这种方式一是实时性不佳,二是扫描时会陡然给中心机很大的压力。后来想有没有一种主机上的配置如果发生变动就能主动上报的机制,如果能主动上报一又解决了实时性问题,二也解决了中心机压力的问题。
二、Shell脚本实现
2.1 基本使用
安装:
yum install inotify-tools
使用格式:
# 使用格式
inotifywait [-hcmrq] [-e ] [-t ] [--format ] [--timefmt ] [ ... ]
# 最常用格式举例
# 持续监控/etc/passwd文件被修改事件
inotifywait-m -e modify /etc/passwd# 持续监控/tmp目录及其子目录下的所有事件
inotifywait-m -r /tmp
2.2 实现示例
在一个终端窗口中开启监控:
在另外一个终端窗口中执行命令:
再回头看第一个窗口,显示如下:
三、Python实现
3.1 基本使用
安装:
pip install pyinotify
使用格式:
(base) [root@ls-virtual-machine ~]# python -m pyinotify -h
Usage: pyinotify.py [options] [path1] [path2] [pathn]
Options:-h, --help show this help message and exit-v, --verbose Verbose mode-r, --recursive Add watches recursively on paths-a, --auto_add Automatically add watches on new directories-g, --glob Treat paths as globs-e EVENT[,...], --events-list=EVENT[,...]
A comma-separated list of events to watch for -see
the documentationforvalid options (defaults to
everything)-s, --stats Display dummy statistics-V, --version Pyinotify version-f, --raw-format Disable enhanced output format.-c COMMAND, --command=COMMAND
Shell command to run upon event
3.2 使用示例
在一个终端窗口中开启监控:
在另一个终端窗口中执行命令:
再回头看第一个窗口,显示如下:
3.3 代码使用示例
将以下代码保存成test.py:
import pyinotify
# Watch Manager
wm=pyinotify.WatchManager()
# 监听文件创建事件和文件删除事件
mask= pyinotify.IN_CREATE |pyinotify.IN_DELETE
class EventHandler(pyinotify.ProcessEvent):
# 如果文件创建事件发生,则要执行的代码
def process_IN_CREATE(self, event):
print(f"Creating: {event.pathname}")
# 如果文件删除事件产生,则要执行的代码
def process_IN_DELETE(self, event):
print(f"Removing: {event.pathname}")
handler=EventHandler()
notifier=pyinotify.Notifier(wm, handler)
wdd= wm.add_watch('/tmp', mask, rec=True)
# 持续监控
notifier.loop()
在一个终端窗口中运行该文件:
在另一个终端窗口中执行命令:
再回头看第一个窗口,显示如下:
参考:
监控linux空间变化,Linux监控文件变化及主动上报实现相关推荐
- Linux定期监视某文件变化,监控Linux文件变化,防止服务器被黑
运维服务器比较头疼的一个问题是系统被黑,沦为肉鸡或者矿机.除了加强安全基线配置,加强网络和端口加固,系统和应用bug修复,上IDS/IPS(入侵检测/防御系统)之外,另一个方面就是系统监控,一个完善准 ...
- delphi 监控文件变化_监控Linux文件变化,防止系统被黑
运维服务器比较头疼的一个问题是系统被黑,沦为肉鸡或者矿机.除了加强安全基线配置,加强网络和端口加固,系统和应用bug修复,上IDS/IPS(入侵检测/防御系统)之外,另一个方面就是系统监控,一个完善准 ...
- 解压出来的文件md5会改变吗_监控Linux文件变化,防止系统被黑
运维服务器比较头疼的一个问题是系统被黑,沦为肉鸡或者矿机.除了加强安全基线配置,加强网络和端口加固,系统和应用bug修复,上IDS/IPS(入侵检测/防御系统)之外,另一个方面就是系统监控,一个完善准 ...
- [SHELL]监控LINUX目录文件变化
最近看到群里有人聊到他们的服务器最近被挂马,然后想利用一个脚本能够实时监控web目录下文件的变化,也就是对该目录的增删改操作都会记录到相应日志下. 当时感觉这个功能的确实有点意思,所以网上查阅了些资料 ...
- Python监控目录和文件变化
原文:https://www.cnblogs.com/lcamry/p/8392376.html Python监控目录和文件变化 一.os.listdir import os, time path_t ...
- linux如何运行sh监控文件夹,如何使用Shell进行文件监控?
导读 文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文件同步.(可用于代码自动发布) inotify 是linux内核的一个特性,在内核 2.6 ...
- Python监控文件变化:watchdog
Python监控文件变化有两种库:pyinotify和watchdog.pyinotify依赖于Linux平台的inotify,后者则对不同平台的的事件都进行了封装.也就是说,watchdog跨平台. ...
- Shell 监控文件变化
作者:youxin 链接:https://www.cnblogs.com/youxin/p/13816303.html 文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用 ...
- 神器推荐!一个能监控文件变化的Python神器—看门狗
假设现在有一个应用场景,需要对文件系统进行监控,发生变化时产生日志,对新增的文件做一些相应的操作. 比如说应用到我们之前的音乐高潮提取器:若当前文件夹下增加了一个音乐文件,监控器就调用音乐高潮提取器, ...
最新文章
- 太极图正确画法_小小太极图,暗藏大乾坤!您真的看懂了这张“中华第一图”?...
- git bash退回上一个文件夹
- ‘FactorAnalyzer‘ object has no attribute ‘analyze‘和fa.loadings改成fa.loadings报错解决
- Java queue总结
- ITK:使用基于多尺寸Hessian的量度来分割血管
- C++结构体实例和类实例的初始化
- LeetCode 529. 扫雷游戏(广度优先搜索BFS/深度优先搜索DFS)
- 【笔记】LR配置ODBC连接数据库进行参数化(mysql )未完待续
- java xml解析器_Java XML解析器
- 《剑指offer》面试题41/42——和为s的两个数字VS和为s的连续正数序列(C++代码实现)
- erase函数的用法
- 入门ASP.NET Core,你该怎么学?
- mysql数据库配置步骤,MySQL数据库安装配置步骤详解
- 程序员有哪些职业发展方向呢?Linux运维
- 免费采集器-网页数据采集器
- 印度黑客号称世界第一,结果第二天被中国黑客干掉了
- 序列周期性与魔术(一)——数学里的函数周期性
- 有向图 G=(V, E) 的拓扑排序
- 九联AX1800 WiFi6路由 真香评测
- 基于.Net TcpListener 实现 WebSocketServer 通讯