利用python腳本程序監控文件被修改

  1. 需求:

利用python編寫監控程序,監控一個文件目錄,當目錄下的文件發生改變時,實現有修改就發報警郵件

郵件使用QQ郵箱,需要開啟smtp,使用手機發生短信,騰訊會給你發郵箱密碼。如下所示:

把這個密碼填到程序中。

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
#!/usr/bin/env python
#coding:utf-8import smtplib
from email.mime.text import MIMETextdef send(content,title,froms,*to):msg = MIMEText(content,"plain","utf-8")msg["Subject"]= titlemsg["From"]= fromsmsg["To"] = ",".join(to)server = smtplib.SMTP_SSL("smtp.qq.com",465)server.login("11111111@qq.com","zqyricvcbed") '''此處寫你發郵件的qq和密碼'''server.sendmail(froms,list(to),msg.as_string())server.quit()if __name__ == '__main__':'''content = "hello I am alvin"title = "alvin's  mail"froms = "11111111@qq.com"to = "22222222@qq.com"send(content,title,froms,to)'''
View Code

3.實戰監控 /etc 目錄下的文件修改

修改/etc/passwd文件

python腳本程序檢查到修改后發送報警郵件


轉載于:https://www.cnblogs.com/ahtornado/p/10212728.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387647.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387647.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387647.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle RAC

環境如下: Linux操作系統:Centos 6.5 64bit (這個版本的redhat 6內核等OS在安裝grid最后執行root.sh時會出現crs-4124,是oracle11.2.0.1的bug) VMware version:Workstation 8.0.3 build-703057 Oracle…

好程序員web前端分享MVVM框架Vue實現原理

好程序員web前端分享MVVM框架Vue實現原理,Vue.js是當下很火的一個JavaScript MVVM庫,它是以數據驅動和組件化的思想構建的。相比于Angular.js和react.js更加簡潔、更易于理解的API,使得我們能夠快速地上手并使用Vue.js。?1.什么是MVVM呢&…

HDU - 3516 Tree Construction

HDU - 3516 思路&#xff1a; 平行四邊形不等式優化dp &#xff1a;&#xff09; 代碼&#xff1a; #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc.h> using namespace std; #define y1 y11 #define fi first #define se…

各類總線傳輸速率

1. USB總線 USB1.1&#xff1a; -------低速模式(low speed)&#xff1a;1.5Mbps -------全速模式(full speed)&#xff1a; 12Mbps USB2.0&#xff1a;向下兼容。增加了高速模式&#xff0c;最大速率480Mbps。 -------高速模式(high speed)&#xff1a; 25~480Mbps US…

Activiti多人會簽例子

Activiti中提供了多實例任務&#xff08;for-each&#xff09;將多實例應到到UserTask中可以實現會簽功能。 Multi-instance (for each) Description A multi-instance activity is a way of defining repetition for a certain step in a business process. In programming …

Django 【認證系統】auth

本篇內容 介紹Django框架提供的auth 認證系統 方法&#xff1a; 方法名 備注 create_user 創建用戶 authenticate 登錄驗證 login 記錄登錄狀態 logout 退出用戶登錄 is_authenticated 判斷用戶是否登錄 login_required裝飾器 進行登錄判斷 引入模塊 from django.…

兒科常見疾病的中成藥療法

孩子感冒&#xff0c;分清寒熱是關鍵——兒童風寒感冒和風熱感冒的中成藥內服外治法 兒童不養兒不知父母恩&#xff0c;每個人恐怕都只有自己做了父母&#xff0c;才能感受到父母的愛。嬰幼兒正處于最初的發育期&#xff0c;抵抗力弱&#xff0c;有個感冒發燒的也是常有的事兒。…

物化視圖

有個項目因為有比較多的查詢匯總&#xff0c;考慮到速度&#xff0c;所以使用了物化視圖。簡單的把用到的給整理了下。先看簡單創建語句&#xff1a;create materialized view mv_materialized_test refresh force on demand start with sysdate nextto_date(concat(to_char( s…

為什么直接ping知乎的ip不能訪問知乎的網站,而百度就可以?

結論&#xff1a; 簡單的說&#xff0c;就是baidu有錢。 正文&#xff1a; 大型網站依靠自身稀稀落落的服務器很難滿足網頁“秒開”的用戶需求&#xff0c;會加入CDN加速的隊伍。 當用戶訪問 http://www.zhihu.com 時&#xff0c;域名解析到距離用戶最近的CDN服務器的公網IP&am…

皮膚病

小偏方治百病/《國醫絕學健康館》編委會編.—重慶&#xff1a;重慶出版社&#xff0c;2010.3&#xff08;國醫絕學健康館&#xff09; 濕疹 苦參湯熏洗治陰囊濕疹方 苦參、蛇麻子中藥各50克&#xff0c;混合后&#xff0c;在晚上煎湯&#xff0c;可直接放在臉盆中煎。煎好后&am…

MySQL-ProxySQL中間件(一)| ProxySQL基本概念

目錄 MySQL-ProxySQL中間件&#xff08;一&#xff09;| ProxySQL基本概念&#xff1a; https://www.cnblogs.com/SQLServer2012/p/10972593.htmlMySQL-ProxySQL中間件&#xff08;二&#xff09;| Admin Schemas介紹&#xff1a;https://www.cnblogs.com/SQLServer2012/p/109…

01 ftp上傳簡單示例服務端

import json import socket import structserver socket.socket() server.bind((127.0.0.1,8001)) server.listen() conn,addr server.accept()#首先接收文件的描述信息的長度 struct_data_len conn.recv(4) data_len struct.unpack(i,struct_data_len)[0]# 通過文件信息的…

標簽td設置隱藏(hidden)

這樣設置這個td就不會被其他的td給擠掉了! 還有一種方法就是把tr標簽的solid設置為0px 這個方法把td標簽的left,right,bottom,top的邊框的solid全部設置為0px;轉載于:https://www.cnblogs.com/tranquilityMan/p/10972811.html

Windows Server 2008 NFS

打開Windows Server 2008的Dos運行窗口&#xff08;不是powershell&#xff09;&#xff0c;然后鍵入&#xff1a; servermanagercmd.exe -install FS-NFS-Services 安裝完畢之后&#xff0c;就要把NFS的存貯映射到Windows Server 2008上某個盤符以供使用&#xff0c;但為了…

金融反欺詐模型----項目實戰--機器學習

機器學習&#xff1a;從源數據清洗到特征工程建立談金融反欺詐模型訓練 本文旨在通過一個完整的實戰例子&#xff0c;演示從源數據清洗到特征工程建立&#xff0c;再到模型訓練&#xff0c;以及模型驗證和評估的一個機器學習的完整流程。由于初識機器學習&#xff0c;會比較多的…

快餐文化短視頻源碼行業競爭激烈,短視頻發展任重道遠

隨著移動互聯技術的興起&#xff0c;形式多樣的短視頻源碼軟件為受眾開辟了短視頻時代&#xff0c;賦予視頻以新的時代內涵。梨視頻、美拍、快手、抖音等APP充斥了人們的生活&#xff0c;因此不少人群對視頻軟件產生了依賴感。短視頻源碼APP行業發展至今&#xff0c;產品和營運…

Win7下如何掛載NFS共享目錄

NFS是Unix中廣泛使用的文件共享協議&#xff0c;在Linux下得到了傳承&#xff0c;使用簡單&#xff0c;讀寫性能強大。過去Windows與Linux共享文件夾需要使用Samba&#xff08;CIFS&#xff09;協議&#xff0c;雖然定制性更高&#xff0c;但設置和使用都比較繁瑣。Windows 7加…

使用Chrome瀏覽器自動下載文件并保存到指定的文件路徑(使用Selenium更改Chrome默認下載存儲路徑)...

https://blog.csdn.net/zbj18314469395/article/details/81207268轉載于:https://www.cnblogs.com/person008/p/10980964.html

vue 源碼學習(一) 目錄結構和構建過程簡介

Flow vue框架使用了Flow作為類型檢查&#xff0c;來保證項目的可讀性和維護性。vue.js的主目錄下有Flow的配置.flowconfig文件&#xff0c;還有flow目錄&#xff0c;指定了各種自定義類型。 在學習源碼前可以先看下Flow的語法 官方文檔 目錄結構 vue.js源碼主要在src下 src ├─…

count慢的問題解決

SELECT count(*) FROM (SELECT DISTINCT DMPNN.ID AS NEED_ID, V2 VDMPSX, DMPNN.DMP_NUM AS DMPNN_NUM, DTT.TASK_ID AS TASK_ID, /*任務ID*/ (SELECT NVL(TO_CHAR(workload),) FROM DMP_ALLOCATION_NEED_RESULT dnr WHERE dnr.anr_id DTT.Anr_Id ) GUIBANWORKLOAD, …