2022年8月12日
服务器状态
crontab -e
*/1 * * * * python3 /root/shell/test.py && echo "runing succeed!" >> /root/shell/test.log 2>&1
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import psutil # python获取系统信息模块,需要额外安装
import smtplib # 发送邮件
from email.mime.text import MIMEText # 构造纯文本邮件
from email.utils import formataddr # 格式化邮件地址
cpuUsed=psutil.cpu_percent(interval=1)
diskUsed=psutil.disk_usage('/').percent
def structural_mail(text, recipient):
msg = MIMEText(text, 'plain', 'utf-8')
msg['From'] = formataddr(["zzz", '[email protected]']) # 发件人
msg['To'] = formataddr([recipient, recipient]) # recipient收件人
msg['Subject'] = "监控报警" # 主题
return msg
def send_mail(text, recipient):
from_addr = '[email protected]'
password = 'pass'
smtp_server = 'smtp.qq.com'
smtp_port = 465
to_addr = [] # 可以一次发给多个人,因此传入一个列表
to_addr.append(recipient)
msg = structural_mail(text, recipient)
server = smtplib.SMTP_SSL(smtp_server, smtp_port)
server.login(from_addr, password)
server.sendmail(from_addr, to_addr, msg.as_string())
def check():
if cpuUsed >= 80 or diskUsed >= 85:
send_mail('CPU使用率:{}%,磁盘使用率:{}%'.format(cpuUsed, diskUsed),'[email protected]')
if __name__ == '__main__':
check()