黑帽联盟

 找回密码
 会员注册
查看: 1690|回复: 1
打印 上一主题 下一主题

[脚本语言] python监控网站目录文件夹和文件

[复制链接]

895

主题

38

听众

3324

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    开心
    昨天 22:18
  • 签到天数: 1645 天

    [LV.Master]伴坛终老

    很多公司的网站服务器都会有自己监控网站文件夹工具,或者是脚本,我知道的有自己写php来监控,有用shell脚本来监控,有用python来监控,至于其他软件的这里就不说了,今天我们就说用python来监控网站文件夹和文件.
      系统:centos 7(64位)
      软件版本:python 2.7

    cat /root/soft_shell/check-wwwfile.py
    1. #!/usr/bin/env python
    2. #coding=utf-8
    3. import os,datetime,pyinotify,logging
    4. class MyEventHandler(pyinotify.ProcessEvent):
    5.     logging.basicConfig(level=logging.INFO,filename='/var/log/monitor.log')
    6.     #自定义写入那个文件,可以自己修改
    7.     logging.info("Starting monitor...")

    8.      #def process_IN_ACCESS(self, event):
    9.         #print "ACCESS event:", event.pathname
    10.         #logging.info("ACCESS event : %s  %s" % (os.path.join(event.path,event.name),datetime.datetime.now()))

    11.     def process_IN_CREATE(self, event):
    12.         #print "CREATE event:", event.pathname
    13.         logging.info("CREATE event : %s  %s" % (os.path.join(event.path,event.name),datetime.datetime.now()))

    14.     def process_IN_DELETE(self, event):
    15.         #print "DELETE event:", event.pathname
    16.         logging.info("DELETE event : %s  %s" % (os.path.join(event.path,event.name),datetime.datetime.now()))

    17.     def process_IN_MODIFY(self, event):
    18.         #print "MODIFY event:", event.pathname
    19.         logging.info("MODIFY event : %s  %s" % (os.path.join(event.path,event.name),datetime.datetime.now()))

    20. def main():
    21.     # watch manager
    22.     wm = pyinotify.WatchManager()
    23.     wm.add_watch('/var/www/vhosts', pyinotify.ALL_EVENTS, rec=True)
    24.     #/tmp是可以自己修改的监控的目录
    25.     # event handler
    26.     eh = MyEventHandler()

    27.     # notifier
    28.     notifier = pyinotify.Notifier(wm, eh)
    29.     notifier.loop()

    30. if __name__ == '__main__':
    31.     main()
    复制代码
    在使用之前,要安装pyinotify组件,没有安装的话请执行:
    yum -y install python-pip
    pip install pyinotify

    当上面两步执行完了后,再使用监控脚本,要后台执行的话,执行:
    setsid python /root/soft_shell/check-wwwfile.py

    最后查看monitor.log日志.
    文件监控

    好了,可以看到有写入数据的,这样就可以方便以后查看.
    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!

    4

    主题

    3

    听众

    302

    积分

    黑帽学员

    Rank: 3Rank: 3

  • TA的每日心情
    郁闷
    2019-5-8 02:08
  • 签到天数: 265 天

    [LV.8]以坛为家I

    高大上,表示路过
    来自安卓客户端来自安卓客户端
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部