1. 需求:

利用python编写监控程序,监控一个文件目录,当目录下的文件发生改变时,实现有修改就发报警邮件

邮件使用QQ邮箱,需要开启smtp,使用手机发生短信,腾讯会给你发邮箱密码。如下所示:

利用python脚本程序监控文件被修改

把这个密码填到程序中。

python版本

[root@ftp day01]# python
Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

2.程序代码如下:

[root@ftp day01]# cat montest.py  sendMail.py

#!/usr/bin/env python
#coding:utf-8
import sys
import pyinotify
from sendMail import send
try:
    path = sys.argv[1]
except:
    raise(AttributeError("has no attribute path"))
class MyEvent(pyinotify.ProcessEvent):
    def process_IN_MODIFY(self,event):
        '''print("hell world")
        print ("%s be chandg "event.name)
        '''
        content = "%s be change" %(path+event.name)
        title = "refine's mail"
        froms = "11111111@qq.com"  '''发邮件账号'''
        to = "22222222@qq.com"      '''接收邮件账号'''

        send(content,title,froms,to)
        print (content)

def main(path):
    vm = pyinotify.WatchManager()
    vm.add_watch(path,pyinotify.ALL_EVENTS,rec = True)
    event = MyEvent()
    notifier = pyinotify.Notifier(vm,event)
    notifier.loop()
main(path)
View Code

相关文章: