返回顶部
首页 > 资讯 > 后端开发 > Python >python 监控文件变化
  • 547
分享到

python 监控文件变化

文件python 2023-01-31 07:01:36 547人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

#!/usr/bin/env python # encoding: utf-8 import time,os import pyinotify import smtplib from email.mime.text import MIMET

#!/usr/bin/env python
# encoding: utf-8
import time,os
import pyinotify
import smtplib
from email.mime.text import MIMEText
mailto_list=["695001606@qq.com"]
mail_host="smtp.163.com"
mail_user="cs@163.com"
mail_passwd="**********"
file = ['/usr/sbin/sshd','/var/log/syslog','/var/log/lastlog','/var/log/wtmp','/etc/passwd','/etc/shadow']
file1 = ['/usr/sbin/sshd','/etc/passwd','/etc/shadow']
def mail_send(to_list,sub,content):
    msg = MIMEText(content,_charset='utf-8')
    msg['Subject'] = sub
    msg['From'] = mail_user
    msg['To'] = ";".join(to_list)
    try:
        send_smtp = smtplib.SMTP()
        send_smtp.connect(mail_host)
        send_smtp.login(mail_user,mail_passwd)
        send_smtp.sendmail(mail_user,to_list,msg.as_string())
        send_smtp.close()
        return True
    except Exception,e:
        print str(e)
        return False


class handler(pyinotify.ProcessEvent):
    def process_IN_ATTRIB(self,event):
        if event.pathname in file:
            mail_send(mailto_list,'文件权限被修改',event.pathname)
    def process_IN_DELETE(self,event):
        if event.pathname in file:
            mail_send(mailto_list,"卧槽,文件被删除了",event.pathname)
        else:
            pass
    def process_IN_MODIFY(self,event):
        if event.pathname in file1:
            mail_send(mailto_list,"卧槽,文件被写东西了",event.pathname)
        else:
            pass
    def process_IN_MOVED_TO(self,event):
        if event.pathname in file:
            print(event.pathname)
            mail_send(mailto_list,"卧槽,文件被覆盖了",event.pathname)
        else:
            pass
    def process_IN_MOVED_FROM(self,event):
        if event.pathname in file:
            print(event.pathname)
            mail_send(mailto_list,"卧槽,文件被移走了",event.pathname)
        else:
            pass
def main():
    pathlist = ['/usr/sbin','/var/log','/etc']
    wm = pyinotify.WatchManager()
    wm.add_watch(pathlist,pyinotify.ALL_EVENTS,rec=True)
    en =handler()
    notifier= pyinotify.Notifier(wm,en)
    notifier.loop()
if __name__=='__main__':
    main()

要安装pyinotify模块

--结束END--

本文标题: python 监控文件变化

本文链接: https://lsjlt.com/news/190904.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python 监控文件变化
    #!/usr/bin/env python # encoding: utf-8 import time,os import pyinotify import smtplib from email.mime.text import MIMET...
    99+
    2023-01-31
    文件 python
  • python中文件变化监控-watchd
    在python中文件监控主要有两个库,一个是pyinotify ( https://github.com/seb-m/pyinotify/wiki ),一个是watchdog(http://pythonhosted.org/wat...
    99+
    2023-01-31
    文件 python watchd
  • Python监控文件内容变化
    利用seek监控文件内容,并打印出变化内容:#/usr/bin/env python #-*- coding=utf-8 -*- pos = 0 while True:     con = open("a.txt")   if pos !...
    99+
    2023-01-31
    文件 内容 Python
  • python监控文件或目录变化
    本文实例实现的功能是监控一个文件或目录的变化,如果有变化,把文件上传备份至备份主机,并且要监控上传过程是否有问题等,具体内容如下 #!/usr/bin/env python #coding=utf-8...
    99+
    2022-06-04
    文件 目录 python
  • Python利用watchdog模块监控文件变化
    目录1.准备2.基本使用3.监控文件变化假设现在有一个应用场景,需要对文件系统进行监控,发生变化时产生日志,对新增的文件做一些相应的操作。 比如说应用到我们之前的音乐高潮提取器:若当...
    99+
    2024-04-02
  • 如何监控Linux文件变化
    这篇文章主要介绍了如何监控Linux文件变化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。概述在*nix体系一切皆文件,系统文件的变化往往反应着系统的变化,比如系统应用的更新...
    99+
    2023-06-16
  • 如何用Shell监控文件变化
    这篇文章主要讲解了“如何用Shell监控文件变化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用Shell监控文件变化”吧!文件监控可以配合rsync实现文件自动同步,例如监听某个目录,...
    99+
    2023-06-15
  • Python实战之能监控文件变化的神器—看门狗
    目录一、前言二、准备三、基本使用四、监控文件变化一、前言 假设现在有一个应用场景,需要对文件系统进行监控,发生变化时产生日志,对新增的文件做一些相应的操作。 比如说应用到我们之前的音...
    99+
    2024-04-02
  • 如何使用Python实现实时监控数组文件变化?
    在日常的编程工作中,我们经常需要监控某些文件的变化,并且在文件发生变化时能够及时作出相应的处理。在本文中,我们将介绍如何使用Python实现实时监控数组文件变化,并且通过演示代码来帮助您更好地理解。 使用Python的watchdog模...
    99+
    2023-07-05
    实时 数组 文件
  • java.nio.file.WatchService 实时监控文件变化的示例代码
    目录1.示例代码2.其实并没有实时在平时的开发过程中,会有很多场景需要实时监听文件的变化,如下:1、通过实时监控 mysql 的 binlog 日志实现数据同步2、修改配置文件后,希...
    99+
    2024-04-02
  • 怎么在Java中使用WatchService监控文件内容变化
    这篇文章将为大家详细讲解有关怎么在Java中使用WatchService监控文件内容变化,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实现方案自己起一个单独线程,定时加载文件,实现较简单,但...
    99+
    2023-05-30
    java watchservice
  • golang监听文件变化的实例
    废话不多说,直接上官网demo package main import ( "log" "github.com/fsnotify/fsnotify" ) func main(...
    99+
    2024-04-02
  • java如何监听文件变化并读取文件
    Java中可以使用java.nio.file包中的WatchService类来监听文件的变化,并使用BufferedReader类来...
    99+
    2023-09-26
    java
  • java怎么监听文件变化并读取文件
    Java可以通过使用Java NIO包中的WatchService类来监听文件变化,并使用Java IO或Java NIO来读取文件...
    99+
    2023-10-27
    java
  • 一个监控LINUX目录和文件变化的Shell脚本分享
    最近看到群里有人聊到他们的服务器最近被挂马,然后想利用一个脚本能够实时监控web目录下文件的变化,也就是对该目录的增删改操作都会记录到相应日志下。 当时感觉这个功能的确实有点意思,所以网上查阅了些资料,自己...
    99+
    2022-06-04
    脚本 文件 目录
  • java 使用线程监控文件目录变化的实现方法
    java 使用线程监控文件目录变化的实现方法  由于某种特殊的需求、弄了个使用线程监控文件目录变化的代码基本如下、其中减去一些复杂的操作、只留下基本代码:package com.file;import java.io.File;i...
    99+
    2023-05-31
    java 线程 监控
  • python基于watchdog库全自动化监控目录文件
    目录楔子使用方法创建一个文件创建一个目录重命名将文件1.txt移动到子目录test_child, 所以此时会伴随一个创建、一个删除以及一个修改修改文件1.txt小结楔子 有些时候我...
    99+
    2024-04-02
  • 利用nodejs监控文件变化并使用sftp上传到服务器
    最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器) 然后因为经常要改动,而且又要放到服务器上进行测试。总是要webpack,然后手动把文件上传上去,不胜其烦,索性搜索了下,直接...
    99+
    2022-06-04
    服务器 文件 nodejs
  • Android怎么监测文件夹内容变化
    本篇内容主要讲解“Android怎么监测文件夹内容变化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android怎么监测文件夹内容变化”吧!一. 概述:android.os包下的FileObs...
    99+
    2023-06-25
  • Java利用WatchService监听文件变化示例
    在实现配置中心的多种方案中,有基于JDK7+的WatchService方法,其在单机应用中还是挺有实践的意义的。代码如下:package com.longge.mytest;import java.io.IOException;import...
    99+
    2023-05-31
    watchservice java hs
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作