首页 > 代码库 > shell脚本-监控及邮件提醒
shell脚本-监控及邮件提醒
首先写一个邮件提醒python文件
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys import smtplib import email.mime.multipart import email.mime.text server = ‘smtp.163.com‘ port = ‘25‘ def sendmail(server,port,user,pwd,msg): smtp = smtplib.SMTP() smtp.connect(server,port) smtp.login(user, pwd) smtp.sendmail(msg[‘from‘], msg[‘to‘], msg.as_string()) smtp.quit() print(‘邮件发送成功email has send out !‘) if __name__ == ‘__main__‘: msg = email.mime.multipart.MIMEMultipart() msg[‘Subject‘] = ‘服务器报警请注意!‘ msg[‘From‘] = ‘python4_mail@163.com‘ msg[‘To‘] = ‘longbaby1101@qq.com‘ user = ‘python4_mail‘ pwd = ‘sbalex3714‘ content=‘%s\n%s‘ %(‘\n‘.join(sys.argv[1:4]),‘ ‘.join(sys.argv[4:])) #格式处理,专门针对我们的邮件格式 txt = email.mime.text.MIMEText(content, _charset=‘utf-8‘) msg.attach(txt) sendmail(server,port,user,pwd,msg)
然后写自己的监控脚本
#/bin/bash bu=`free | awk ‘NR==2{print $6}‘` to=`free | awk ‘NR==2{print $2}‘` mem=`expr "scale=2;$bu/$to" |bc -l | cut -d. -f2` if(($mem >= 70)) then msg="TIME:$(date +%F_%T) HOSTNAME:$(hostname) IPADDR:$(ifconfig |awk ‘NR==2{print $2}‘) MSG:内存high了high了!已经用了${mem}%" echo $msg /usr/bin/pymail.py $msg fi systemctl status nginx if(($?!=0)) then msg="TIME:$(date +%F_%T) HOSTNAME:$(hostname) IPADDR:$(ifconfig |awk ‘NR==2{print $2}‘) MSG: Nginx 进程出现异常请注意查看!" echo $msg /usr/bin/pymail.py $msg fi systemctl status nfs if(($?!=0)) then msg="TIME:$(date +%F_%T) HOSTNAME:$(hostname) IPADDR:$(ifconfig |awk ‘NR==2{print $2}‘) MSG: NFS 进程出现异常请注意查看!" echo $msg /usr/bin/pymail.py $msg fi
之后再定时任务中写入每分钟执行一次
把两个nginx 和 nfs 服务关闭
等待一分钟之后
shell脚本-监控及邮件提醒
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。