This article mainly introduces the Linux mail disk space monitoring function and python implementation. if you need it, refer to the next article to introduce the Linux mail disk space monitoring function and python implementation, for more information, see
Core code:
#! /Usr/bin/python #-*-coding: UTF-8-*-import smtplibimport osimport commands, time from email. mime. text import MIMEText # from email import MIMETextdisk_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 ['subobject'] = 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 expect T SyntaxError: pass return Falseif _ 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 "sent successfully" else: print "failed to send" 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 ()
For more articles on Linux mail disk space monitoring python examples, refer to PHP Chinese network!