应公司需求需要监控服务器磁盘空间是否过大,设置了超过进行发送邮件通知!
获取磁盘空间采用的python的psutil类库,使用该库可以获取CPU、内存、磁盘、网络、进程等信息。
使用前需要先进性安装:pip install psutil
获取内存信息:psutil.virtual_memory()
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
import psutil
def getdisk():
res = psutil.disk_usage('/')
precent = str(res).split('=')[4][0:-1]
return precent
def sentemail(scode):
host = 'smtp.163.com'
port = 465
sender = '123456@163.com'
pwd = '**********'
receiver = '12345678@qq.com'
msg = MIMEText(scode, "plain", "utf-8")
msg['subject'] = 'analysis false'
msg['from'] = sender
msg['to'] = receiver
try:
s = smtplib.SMTP_SSL(host, port)
s.login(sender, pwd)
s.sendmail(sender, receiver, msg.as_string())
print ('sent email success')
except smtplib.SMTPException:
print ('Error.sent email fail')
if __name__ == '__main__':
res = getdisk()
print res
if float(res) > 95:
sentemail("disk is full,please clean disk")