python练习题(四)
2015-08-06 17:21
639 查看
写一个脚本,判断本机的80端口是否开启着,如果开启着什么都不做,如果发现端口不存在,那么重启一下httpd服务,并发邮件通知你自己。脚本写好后,可以每一分钟执行一次,也可以写一个死循环的脚本,30s检测一次。
#!/usr/bin/env python
#!coding=utf-8
import os
import time
import sys
import smtplib
from email.mime.text import MIMEText
from email.MIMEMultipart import MIMEMultipart
def sendsimplemail (warning):
msg = MIMEText(warning)
msg['Subject'] = 'python first mail'
msg['From'] = 'root@localhost'
try:
smtp = smtplib.SMTP()
smtp.connect(r'smtp.126.com')
smtp.login('要发送的邮箱名', '密码')
smtp.sendmail('要发送的邮箱名', ['要发送的邮箱名'], msg.as_string())
smtp.close()
except Exception, e:
print e
while True:
http_status = os.popen('netstat -tulnp | grep httpd','r').readlines()
try:
if http_status == []:
os.system('service httpd start')
new_http_status = os.popen('netstat -tulnp | grep httpd','r').readlines()
str1 = ''.join(new_http_status)
is_80 = str1.split()[3].split(':')[-1]
if is_80 != '80':
print 'httpd 启动失败'
else:
print 'httpd 启动成功'
sendsimplemail(warning = "This is a warning!!!")
else:
print 'httpd正常'
time.sleep(5)
except KeyboardInterrupt:
sys.exit('\n')
#!/usr/bin/env python
#!coding=utf-8
import os
import time
import sys
import smtplib
from email.mime.text import MIMEText
from email.MIMEMultipart import MIMEMultipart
def sendsimplemail (warning):
msg = MIMEText(warning)
msg['Subject'] = 'python first mail'
msg['From'] = 'root@localhost'
try:
smtp = smtplib.SMTP()
smtp.connect(r'smtp.126.com')
smtp.login('要发送的邮箱名', '密码')
smtp.sendmail('要发送的邮箱名', ['要发送的邮箱名'], msg.as_string())
smtp.close()
except Exception, e:
print e
while True:
http_status = os.popen('netstat -tulnp | grep httpd','r').readlines()
try:
if http_status == []:
os.system('service httpd start')
new_http_status = os.popen('netstat -tulnp | grep httpd','r').readlines()
str1 = ''.join(new_http_status)
is_80 = str1.split()[3].split(':')[-1]
if is_80 != '80':
print 'httpd 启动失败'
else:
print 'httpd 启动成功'
sendsimplemail(warning = "This is a warning!!!")
else:
print 'httpd正常'
time.sleep(5)
except KeyboardInterrupt:
sys.exit('\n')
相关文章推荐
- 解决ie动态修改link样式,import css不刷新的问题
- css import与link的区别
- Flex include和import ActionScript代码
- PHP Warning: Module 'modulename' already loaded in问题解决办法
- phpmyadmin导入(import)文件限制的解决办法
- Thinkphp中import的几个用法详细介绍
- PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
- Sql学习第一天――SQL 练习题(建表/sql语句)
- 16种C语言编译警告(Warning)类型的解决方法
- PHP错误Warning: Cannot modify header information - headers already sent by解决方法
- Java里的static import使用小结
- python中from module import * 的一个坑
- python之import机制详解
- Python引用(import)文件夹下的py文件的方法
- 跟老齐学Python之Import 模块
- Python import用法以及与from...import的区别
- Python import自定义模块方法
- 【编程基础】Java 中的Package和Import
- java随机加法游戏
- import com.sun.image.codec.jpeg.JPEGCodec;