最近一朋友的mysql偶尔宕机,便用python写了个小监测程序
linux中自带python,以及subprocess模块,原理就是分析服务器上service mysql status的返回值进行状态分析

# -*- coding: utf-8 -*-
import commands
import os
import time
import subprocess
n=1
flag=0
while 1:trans_time=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())#print '当前监测周期------->%s'%n,'当前时间------->%s'%trans_timeprint '当前监测周期--->%s,当前时间--->%s'%(n,trans_time)n+=1#p = subprocess.Popen('ps -ef|grep mysqld', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)try:if flag==0:p = subprocess.Popen('service mysqld status', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)else:p = subprocess.Popen('service mysql status', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)except Exception,e:print 'subprocess1 exception---->%s'%eflag=0continue#result=len(p.stdout.readlines())result=''.join(p.stdout.readlines()).strip()#if result<=3:try:if 'stop' in result or 'not' in result:if flag==0:subprocess.Popen('service mysqld start', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)else:subprocess.Popen('service mysql start', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)print '数据库启动中...'while True:#p1=subprocess.Popen('ps -ef|grep mysqld', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)if flag==0:p1=subprocess.Popen('service mysqld status', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)else:p1=subprocess.Popen('service mysql status', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)#result1=len(p1.stdout.readlines())result1=''.join(p1.stdout.readlines()).strip()#if result1>3:if 'stop' in result1 or 'not' in result1:print 'Current Mysqld Progress No.---%s'%result1time.sleep(1)continueelse: 'running' in result1:print 'Db Restart Success!----%s'%result1break#else:elif 'is running' in result or 'running' in result:print '数据库状态正常'time.sleep(600)continueelif 'unrecognized' in result:print 'unrecognized service try mysql,waiting...'flag=1p = subprocess.Popen('service mysql status', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)continueelse:print 'unknown error---->%s'%resultcontinueexcept Exception,e:print 'subprocess2 except for reason %s'%eflag=0continue

监测mysql是否宕机,并自动重启

python监测mysql,并自动重启相关推荐

  1. mysql命令面板数据更改_宝塔面板数据库自动停止解决办法,宝塔面板MySQL数据库自动重启shell脚本...

    宝塔的数据库经常性自动停止,是因为网站频繁的请求数据库,而服务器内存又不足,为了保证服务器不彻底卡死,保护性的自动停止数据库,特别是有些程序比如wordpress的数据库查询次数尤为突出,wordpr ...

  2. flask+uwsgi 在调试过程中让python文件的更改自动重启uwsgi

    在 uwsgi.ini文件中增加重启描述 python-autoreload=1 这样就可以在python文件变更的时候,uwsgi进程自动重启了

  3. python连接mysql,自动生成数据库表对应的word文档(毕设福利)

    效果图 运行程序后生成的word文档 所需依赖 安装两个依赖插件 pip install pymysql pip install python-docx python程序 #!/usr/bin/pyt ...

  4. linux 程序定时重启tomcat,linux下实现tomcat定时自动重启

    tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式.要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdo ...

  5. mysql之使用python操作mysql需要commit的情况

    在使用python操作mysql时,自动提交默认为off (1)在以下语句中需要commit           update,delete,insert等修改表中数据的需要commit (2)在以下 ...

  6. linux 定时重启mysql_Linux下定时自动重启apache及mysql

    服务器不重启的情况下定时自动重启apache及mysql服务,其实也大同小异.具体步骤如下: 一.每天的12点及16点重启apache及mysql服务 [root@www bin]# cd /opt/ ...

  7. 在linux下python爬虫进程发生异常时自动重启直至正常结束的方法

    在linux下python爬虫进程发生异常时自动重启直至正常结束的方法 参考文章: (1)在linux下python爬虫进程发生异常时自动重启直至正常结束的方法 (2)https://www.cnbl ...

  8. python sqlalchemy mysql 自动映射

    SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作 简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果 ...

  9. Unbuntu 自动重启MySQL

    上个月,通过Unbuntu搭建了WordPress,一切运行良好. UBUNTU搭建WORDPRESS-MYSQL-APACHE 但是,最近几天,不知道啥情况,MySQL偶尔会出现Stop:影响了bl ...

最新文章

  1. 杂谈 - 开始认认真真写博客了
  2. poj 3321 Apple Tree
  3. 对于oracle varchar 的种种
  4. 如何做网络推广浅析网站文章的结构对优化的重要性!
  5. 哈夫曼编码压缩率计算_程序员的算法课(8)-贪心算法:理解霍夫曼编码
  6. 通过反射写一个通用的设置某个对象的某个属性为指定的值
  7. web中的cookie管理
  8. codeforces gym-101745 C-Infinite Graph Game 分块
  9. slf4j的简单用法以及与log4j的区别
  10. github操作笔记191021
  11. 7-16 求符合给定条件的整数集
  12. spring data redis的使用jar包版本冲突问题
  13. Qt: QMutex
  14. tcpdf中文解决方案
  15. linux RAC 安装失败完全卸载
  16. android 停止服务执行,android - 为什么在停止服务(执行onDestroy已执行)后,服务中的变量没有“重置”?...
  17. Windows2008虚拟机扩容C盘
  18. idea新建sourceFolder
  19. CSS布局之各种需要掌握的小技巧~
  20. 2022---hgame第一周WriteUp

热门文章

  1. 不只是休闲:关于体感游戏的一些思考(二) --- POV和基本场景
  2. 电容笔有必要买原装的吗,国货电容笔推荐
  3. 问题 D 实验12_A_和谐词汇
  4. 托管文件传输平台即服务市场现状研究分析-
  5. 面试奇淫巧技之——STAR法则+BEI面试大法
  6. WPF MVVMLight Treeview中的SelectedItem
  7. 香蕉派(Banana Pi) BPI-M2 Zero 评测试,与树莓派 Zero同尺寸的开发板
  8. thickbox 应用
  9. 阅读dds 规范 1.4
  10. java 视频播放_JAVA如何播放视频文件?