提示:
1. 你可以使用ping命令 ping -c10 123.23.11.21
2. 发邮件脚本可以参考#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from subprocess import *
def sendqqmail(username,password,mailfrom,mailto,subject,content):
#邮箱的smtp填写在这里
gserver = 'smtp.qq.com'
#qq邮箱的端口号为465
gport = 25
try:
msg = MIMEText(unicode(content).encode('utf-8'))
msg['from'] = mailfrom
msg['to'] = mailto
msg['Reply-To'] = mailfrom
msg['Subject'] = subject
#ssl连接,把下面改为smtp = smtplib.SMTP_SSL(gserver, gport)
smtp = smtplib.SMTP(gserver, gport)
smtp.set_debuglevel(0)
smtp.ehlo()
smtp.login(username,password)
smtp.sendmail(mailfrom, mailto, msg.as_string())
smtp.close()
except Exception,err:
print "Send mail failed. Error: %s" % err
def main():
to=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
##定义邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
sendqqmail('1234567@qq.com','aaaaaaaaaa','1234567@qq.com',to,subject,content)
if __name__ == "__main__":
main()
#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"
#3. 更改其他邮箱后缀,只需要更改gserver = 'smtp.139.com',把邮箱的smtp开启就可以了
#4. gport = 25 为端口,qq邮箱的端口为465
#5. 如有ssl连接,代码部分为smtp = smtplib.SMTP_SSL(gserver, gport),在原基础加_SSL
3. 脚本可以搞成死循环,每隔30s检测一次
答案:#!/bin/bash
ip=123.23.11.21
mail=3600000@qq.com
while :
do
ping -c 10 123.23.11.21 &> /tmp/mail.log
if [ $? -ne 0 ]
then
##邮件脚本是mail.py
python /tmp/mail.py $mail "$ip is down" " $ip is down"
fi
sleep 30
done