日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

监控linux空间变化,Linux监控文件变化及主动上报实现

發(fā)布時間:2025/3/15 linux 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 监控linux空间变化,Linux监控文件变化及主动上报实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、說明

最近在做一些主機的自動化檢查操作,每次都是定時主動去掃描。這種方式一是實時性不佳,二是掃描時會陡然給中心機很大的壓力。后來想有沒有一種主機上的配置如果發(fā)生變動就能主動上報的機制,如果能主動上報一又解決了實時性問題,二也解決了中心機壓力的問題。

二、Shell腳本實現(xiàn)

2.1?基本使用

安裝:

yum install inotify-tools

使用格式:

# 使用格式

inotifywait [-hcmrq] [-e ] [-t ] [--format ] [--timefmt ] [ ... ]

# 最常用格式舉例

# 持續(xù)監(jiān)控/etc/passwd文件被修改事件

inotifywait-m -e modify /etc/passwd# 持續(xù)監(jiān)控/tmp目錄及其子目錄下的所有事件

inotifywait-m -r /tmp

2.2 實現(xiàn)示例

在一個終端窗口中開啟監(jiān)控:

在另外一個終端窗口中執(zhí)行命令:

再回頭看第一個窗口,顯示如下:

三、Python實現(xiàn)

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?使用示例

在一個終端窗口中開啟監(jiān)控:

在另一個終端窗口中執(zhí)行命令:

再回頭看第一個窗口,顯示如下:

3.3?代碼使用示例

將以下代碼保存成test.py:

import pyinotify

# Watch Manager

wm=pyinotify.WatchManager()

# 監(jiān)聽文件創(chuàng)建事件和文件刪除事件

mask= pyinotify.IN_CREATE |pyinotify.IN_DELETE

class EventHandler(pyinotify.ProcessEvent):

# 如果文件創(chuàng)建事件發(fā)生,則要執(zhí)行的代碼

def process_IN_CREATE(self, event):

print(f"Creating: {event.pathname}")

# 如果文件刪除事件產生,則要執(zhí)行的代碼

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)

# 持續(xù)監(jiān)控

notifier.loop()

在一個終端窗口中運行該文件:

在另一個終端窗口中執(zhí)行命令:

再回頭看第一個窗口,顯示如下:

參考:

總結

以上是生活随笔為你收集整理的监控linux空间变化,Linux监控文件变化及主动上报实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。