核心代码:
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()
|