linux定时监控网络连接,利用python发送邮件

服务器A需要调用服务器B上面的服务,但是经常遇到连接超时的问题,需要监控一下网络状态:


shell脚本:


#!/bin/sh
PYTHON_PATH=/usr/bin

ping -c 5 www.suiyuan521.com
if [ "$?" != "0" ]; then
   $PYTHON_PATH/python send_email.py "I can not connect to abc.com"
fi


python发送邮件脚本:

# !/usr/bin/python
"""just a send email python script"""
#-*- coding: utf8 -*-
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.Header import Header
from email.MIMEImage import MIMEImage
import smtplib
import sys
import datetime
import mimetypes
import os


"""send_email function"""
def send_email(subject, body):
    sender = 'suiyuan@521.com'

    file_name = './abc.txt'

    msgRoot = MIMEMultipart()
    msgRoot["Accept-Charset"] = "UTF-8"
    msgRoot["Accept-Language"] = "zh-CN"
    msgRoot['Subject'] = Header(subject,"UTF-8")
    msgRoot['From'] = sender


    receivers = ['suiyuan521@love.com']
    msgRoot['To'] = ','.join(receivers)
    msgRoot.preamble = '%s is a MIME message' % (subject)


    msgAlternative = MIMEMultipart("alternative")
    msgRoot.attach(msgAlternative)


    if not body:
        body = "随缘吧APP不错,给你带来缘分"
        msgText = MIMEText(body)
        msgText.set_charset("UTF-8")
    msgText = MIMEText(body, 'html', 'UTF-8')
    msgText.set_charset("UTF-8")
    msgAlternative.attach(msgText)

    // 发送附件
    ctype,encoding = mimetypes.guess_type(file_name)  
    if ctype is None or encoding is not None:  
        ctype='application/octet-stream'  
    maintype,subtype = ctype.split('/',1)  
    file_msg=MIMEImage(open(file_name,'rb').read(),subtype)  
      
    basename = os.path.basename(file_name)  
    file_msg.add_header('Content-Disposition','attachment', filename = basename)
    msgAlternative.attach(file_msg)


    s = smtplib.SMTP('proxy-in.suiyuan.com')  // 设置邮件服务器地址
    s.sendmail(sender, receivers, msgRoot.as_string())
    s.quit()


"""main function"""
if __name__ == '__main__':
    body = sys.argv[1]
    now_time = datetime.datetime.now()
    yes_time = now_time + datetime.timedelta(days=-1)
    yes_time_nyr = yes_time.strftime('%Y-%m-%d')
    subject = "随缘吧助您监控网络状态"
    send_email(subject,body)


然后将shell脚本加入crontab定时任务就可以了。

*/10 * * * * cd /home/suiyuan/app/monitor; sh monitorNet.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值