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:运行所有可以运行的任务