Pythin基础运维:综合实训

来自CloudWiki
跳转至: 导航搜索

初始版:无线循环

import psutil           #导入psutil模块
import json
import yagmail          #请先下载yagmail包,再导入

def mail(subject,contents):      #---》形参为邮件的标题和内容
    yag = yagmail.SMTP(user='maxin5452@qq.com', password='aaaaaaaaaaaa', host='smtp.qq.com')  #passwd为授权的密码不是登陆密码
    #发送邮件
    yag.send(to='458976849@qq.com',subject=subject, contents=contents)   # ————》定义变量subject和contents
    #断开连接
    yag.close()
    
def cpu_info():    #----》函数名尽可能切合内容
     cpu = psutil.cpu_percent(1)
     return cpu     #----》返回cpu,可以被调用,此return的结果就是调用的结果
    
def main():        #----->定义一个主函数
     m_cpu = cpu_info()
     #print(m_cpu)


     if m_cpu >0:     #---》设置报警值,下同
         mail('cpu报警','CPU使用率占比过高')     #---》给分函数mail的形参传参

 
if __name__=='__main__':     #--》主函数调用固定格式
     while True:
         main()

改进版

import psutil           #导入psutil模块
import json
import yagmail          #请先下载yagmail包,再导入
import schedule
import time

def mail(subject,contents):      #---》形参为邮件的标题和内容
    yag = yagmail.SMTP(user='maxin5452@qq.com', password='aaaaaaaaaa', host='smtp.qq.com')  #passwd为授权的密码不是登陆密码
    #发送邮件
    yag.send(to='458976849@qq.com',subject=subject, contents=contents)   # ————》定义变量subject和contents
    #断开连接
    yag.close()
    
def cpu_info():    #----》函数名尽可能切合内容
     cpu = psutil.cpu_percent(1)
     return cpu     #----》返回cpu,可以被调用,此return的结果就是调用的结果
    
def main():        #----->定义一个主函数
     m_cpu = cpu_info()
     #print(m_cpu)
     if m_cpu >0:     #---》设置报警值,下同
         mail('cpu报警','CPU使用率占比过高')     #---》给分函数mail的形参传参

 
if __name__=='__main__':     #--》主函数调用固定格式
    schedule.every(1).minutes.do(main)    # 每隔十分钟执行一次任务
    #schedule.every().hour.do(run)         # 每隔一小时执行一次任务
    #schedule.every().day.at("10:30").do(run)  # 每天的10:30执行一次任务
    #schedule.every().monday.do(run)  # 每周一的这个时候执行一次任务
    #schedule.every().tuesday.at("14:55").do(run) # 每周三13:15执行一次任务
 
    while True:
        schedule.run_pending()  # run_pending:运行所有可以运行的任务