简单生活 发表于 2015-1-14 20:45:52

Linux教程之搜集Tomcat异常日记并发送邮件

欢迎大家来到仓酷云论坛!剧本功效:
搜集Tomcat异常日记并发送邮件,假如修正正则表达式,也能够用于搜集其异日志文件的毛病信息


运转情况:
Python2.7/2.4皆可运转



剧本应用办法:
可应用Crontab或许筹划义务来指准时间运转,例如:

*/10****剧本路径



剧本运转后果以下:






剧本内容以下:

#!/usr/bin/envpython#coding=utf-8#---------------------------------------------------------#Name:Tomcat毛病日记发送邮件剧本#Purpose:搜集Tomcat异常日记并发送邮件#Version:1.0#Author:LEO#BLOG:http://linux5588.blog.51cto.com#EMAIL:chanyipiaomiao@163.com#Created:2013-05-22#Copyright:(c)LEO2013#Python:2.7/2.4皆可以使用#--------------------------------------------------------fromsmtplibimportSMTPfromemailimportMIMETextfromemailimportHeaderfromos.pathimportgetsizefromsysimportexitfromreimportcompile,IGNORECASE#界说主机帐号暗码收件人邮件主题smtpserver=smtp.163.comsender=帐号/发件人password=暗码receiver=(收件人1,收件人2,)subject=uWeb办事器Tomcat日记毛病信息From=uxxxWeb办事器To=u办事器治理员#界说tomcat日记文件地位tomcat_log=/usr/local/tomcat/logs/catalina.out#该文件是用于记载前次读取日记文件的地位,履行剧本的用户要有创立该文件的权限last_position_logfile=/tmp/last_position.txt#婚配的毛病信息症结字的正则表达式pattern=compile(rException|^        +at,IGNORECASE)#发送邮件函数defsend_mail(error):#界说邮件的头部信息header=Header.Headermsg=MIMEText.MIMEText(error,plain,utf-8)msg=header(From)msg=header(To)msg=header(subject+
)#衔接SMTP办事器,然后发送信息smtp=SMTP(smtpserver)smtp.login(sender,password)smtp.sendmail(sender,receiver,msg.as_string())smtp.close()#读取上一第二天志文件的读取地位defget_last_position(file):try:data=open(file,r)last_position=data.readline()iflast_position:last_position=int(last_position)else:last_position=0except:last_position=0returnlast_position#写入本第二天志文件的本次地位defwrite_this_position(file,last_positon):try:data=open(file,w)data.write(str(last_positon))data.write(
+"DontDeleteThisFile,ItisVeryimportantforLookingTomcatErrorLog!!
")data.close()except:print"CantCreateFile!"+fileexit()#剖析文件找出异常的行defanalysis_log(file):error_list=[]try:data=open(file,r)except:exit()last_position=get_last_position(last_position_logfile)this_postion=getsize(tomcat_log)ifthis_postion<last_position:data.seek(0)elifthis_postion==last_position:exit()elifthis_postion>last_position:data.seek(last_position)forlineindata:ifpattern.search(line):error_list.append(line)write_this_position(last_position_logfile,data.tell())data.close()return.join(error_list)#挪用发送邮件函数发送邮件error_info=analysis_log(tomcat_log)iferror_info:send_mail(error_info)出自“雷纳科斯的博客”博客,请务必保存此出处http://linux5588.blog.51cto.com/65280/1208951


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!

活着的死人 发表于 2015-1-16 22:23:48

Linux教程之搜集Tomcat异常日记并发送邮件

Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?

小魔女 发表于 2015-1-20 19:53:28

对我们学习操作系统有很大的帮助,加深我们对OS的理解。?

山那边是海 发表于 2015-1-29 19:23:16

生成新的unispimsp.ksc。”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的。

第二个灵魂 发表于 2015-2-6 03:40:43

如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。

因胸联盟 发表于 2015-2-15 17:35:27

Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。

若相依 发表于 2015-3-4 13:33:06

让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?

小妖女 发表于 2015-3-11 19:56:45

期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?

只想知道 发表于 2015-3-19 12:51:31

以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。

乐观 发表于 2015-3-28 14:54:22

直到学习Linux这门课以后,我才知道,原来我错了。?
页: [1]
查看完整版本: Linux教程之搜集Tomcat异常日记并发送邮件