核心代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib import os import commands,time from email.mime.text import MIMEText #from email import MIMEText disk_free = os.popen( 'df -lh' ) list_disk = disk_free.read() mailto_list = [ "2880329185@qq.com" , "2881280685@qq.com" , "2880089704@qq.com" , "2880329180@qq.com" ] mail_host = "smtp.139.com" mail_user = "user" mail_pass = "password" mail_postfix = "jljgl@.com" use01 = commands.getstatusoutput( "df -lh|awk '{print $4}'|grep '%'|awk -F '%' '{print $1}'|grep -v Use" ) use02 = commands.getstatusoutput( "df -lh|awk '{print $5}'|grep '%'|awk -F '%' '{print $1}'|grep -v Use" ) getrecord = commands.getstatusoutput( "cat /home/oracle/script/mail.log|awk '{print $1}'" ) gettime = commands.getstatusoutput( "cat /home/oracle/script/mail.log|awk '{print $2}'" ) free01 = use01[ 1 ] free02 = use02[ 1 ] + '\n' + use01[ 1 ] new_time = time.strftime( "%Y%m%d" , time.localtime()) def send_mail(to_list,sub,content): me = mail_postfix msg = MIMEText(content,_subtype = 'plain' ,_charset = 'gb2312' ) msg[ 'Subject' ] = sub msg[ 'From' ] = me msg[ 'To' ] = ";" .join(to_list) try : server = smtplib.SMTP() server.connect(mail_host) server.login(mail_user,mail_pass) server.sendmail(me, to_list, msg.as_string()) server.close() return True except SyntaxError: pass return False if __name__ = = '__main__' : if free02> 30 : id = 0 if new_time>gettime[ 1 ]: while 1 : getrecord = commands.getstatusoutput( "cat /home/oracle/script/mail.log|awk '{print $1}'" ) id = id + 1 ''' jl=open('/home/oracle/script/dd.log') record=jl.read() ''' line_l = str ( id ) + ' ' + new_time df = open ( '/home/oracle/script/mail.log' , 'w' ) df.writelines(line_l) df.close() if send_mail(mailto_list, "hello" ,list_disk): print "发送成功" else : print "发送失败" if getrecord[ 1 ]> 0 : break else : line_m = str ( 0 ) + ' ' + new_time free = open ( '/home/oracle/script/mail.log' , 'w' ) free.writelines(line_m) free.close() |