最近一段时间,Linux服务器中的一个重要网站的数据库总是奔溃,导致网站无法正常访问(显示为网站正在维护中),于是就决定写个脚本来自动监控这个网站是否正常,如果发现网站宕机,则自动重启数据库和网站。

解决以上问题的思路如下:

用命令行浏览器(lynx)获取网站首页并存储到一个网页文件(WebIndex.htm);

如果发现这个网页文件(WebIndex.htm)小于某个字节大小,就可以判断目前网站首页显示的是(正在维护中),即网站此时已经不能正常访问了;

调用重启数据库命令(service mysqld restart)和重启网站服务命令(apachectl restart)

主脚本(WebHalt2ReMySQL.sh)

#!/bin/bash

######################################

## ##

## Web_Halt_To_Re_MySQL ##

## ##

## Ver:0.0.1 ##

## ##

## Code:Zhojie ##

## ##

## Date:2017.8 ##

## ##

######################################

WORK_PATH="/Run/Bash/WebHalt2ReMySQL"

LYNX_COMMAND="/usr/bin/lynx"

HtmFilePath=$WORK_PATH"/WebIndex.htm"

HtmFileSize=6000

WebURL="http://sie.whu.edu.cn"

LOG_FILE_PATH=$WORK_PATH"/LogFile.txt"

if [ -f "$HtmFilePath" ]

then

cd $WORK_PATH

rm $HtmFilePath -f

fi

cd $WORK_PATH

$LYNX_COMMAND -dump $WebURL >> $HtmFilePath

HtmFileNum=`ls -al $HtmFilePath|awk '{print $5}'`

if [ $HtmFileNum -lt $HtmFileSize ]

then

echo "">>$LOG_FILE_PATH

echo "======== Found Web Service Error , Start Work ========">>$LOG_FILE_PATH

NowTime=`date +%Y-%m-%d_%H:%M:%S`

echo "["$NowTime"] WebIndexFile("$HtmFilePath") Size ("$HtmFileNum" < "$HtmFileSize")">>$LOG_FILE_PATH

service mysqld restart

sleep 10

apachectl restart

if [ -f "$HtmFilePath" ]

then

cd $WORK_PATH

rm $HtmFilePath -f

fi

$LYNX_COMMAND -dump $WebURL >> $HtmFilePath

HtmFileNum=`ls -al $HtmFilePath|awk '{print $5}'`

NowTime=`date +%Y-%m-%d_%H:%M:%S`

echo "["$NowTime"] WebIndexFile("$HtmFilePath") Now Size ("$HtmFileNum")">>$LOG_FILE_PATH

echo "======== Work End !!! (ZhoJie@Gmail.Com) ========">>$LOG_FILE_PATH

echo "">>$LOG_FILE_PATH

fi

exit 0

linux服务器宕机原因排查,Linux服务器中网站数据库宕机的自动检测及重启脚本...相关推荐

  1. 记一次服务器宕机原因排查(oom内存溢出)

    一.背景 国庆期间,公司上线了一个投票活动,八号回来中午投票结束.一切风平浪静,就在投票快结束前十几分钟页面突然进不去了. 二.猜测 按照我的猜测,推测有以下几种可能性: 1.页面BUG,导致活动出错 ...

  2. linux服务器重启原因排查_Linux服务器不明原因重启了,怎么查找原因

    Linux服务器不明原因重启了,怎么查找原因 关注:293  答案:2  mip版 解决时间 2021-01-19 07:41 已解决 2021-01-19 02:39 Linux服务器不明原因重启了 ...

  3. linux tomcat cpu占用高,排查tomcat服务器CPU使用率过高

    tomcat要运行依赖于JDK,tomcat服务器的CPU使用率过高,大多都是由于部署的web程序的问题. 一.征象形貌 在一次线上环境,前台接见页面的速率越来越慢,从浏览器F12中看到发出的请求都是 ...

  4. oracle宕机原因排查,oracle不定期的出现宕机的问题诊断

    环境: AIX5L+HACMP+ORACLE9I 分析alert,没有发现错误: Fri Apr 27 17:08:05 2007 Thread 1 advanced to log sequence ...

  5. STM32串口DAM接收253字节就死机原因排查

    日前做了一个方案,是关于STM32通过M5311连接MQTT服务器进行通信的.在各项参数测试完毕后,通过MQTT服务器下发了一个300bytes的设备参数配置指令,结果直接死机了.经过多次测试,问题现 ...

  6. MFC应用程序死机原因排查

    1.任务管理器中的内存排查 内存是否增加 2.任务管理器中的GDI对象排查 GDI对象个数是否增加 3.数组越界排查 4.指针释放排查

  7. 625某电商网站数据库宕机故障解决实录(下)

    1.4开始进行故障恢复***** 1.重新初始化建库 [root@etiantian data]# mkdir mysql [root@etiantian data]# chown -R mysql. ...

  8. atm机是专用计算机吗,计算机网络中的ATM技术和ATM自动取款机的ATM意思一样吗

    elizabethshen 回答于:2018-03-31 不一样! ATM(Asynchronous Transfer Mode)顾名思义就是异步传输模式,就是国际电信联盟ITU-T制定的标准,实际上 ...

  9. 一次服务器宕机的排查记录

    服务器宕机的排查记录 生产环境凌晨突然宕机,日志报错数据库链接超时 cpu.内存 磁盘 飙升 系统采用了springcloud 架构,通过阿里云的监控对比,发现仅仅一台服务器的宕机 分析日志发现,宕机 ...

最新文章

  1. Http压测工具wrk使用指南【转】
  2. 数据库导出All about Oracle IMP/EXP
  3. 高效万进制——蓝桥杯|HDOJ 1002 大数加法——30行代码AC
  4. JMeter压测笔记
  5. Linux命令:bash脚本编程--脚本
  6. 全球 JavaScript 开发者薪酬揭晓,你拖后腿了吗?
  7. HDU2030 汉字统计【入门】
  8. repeater上EVAL绑定后台方法并且传参数
  9. CRM中复制记录的方法
  10. 《utils》yaml,yml格式化
  11. Ghost 系统安装全攻略图解(6种不同安装方法)
  12. win7配置计算机失败怎么办,Win7配置失败还原更新怎么回事 Win7配置update失败的解决办法...
  13. 全球首秀!真人数字人亮相元宇宙签约仪式
  14. 快速预警、高效疏通,ZBOX打造高速公路智慧通信站
  15. js中0.1+0.2!=0.3
  16. 初学larval 第一篇(大神绕道哦,针对新手友好的一篇)
  17. 索尼手机android怎么连,索尼SmartWatch 2 SW2 连接手机图文教程
  18. 基于LVM的磁盘管理
  19. 自动变量,非自动变量,全局变量与局部变量
  20. 如何删除打开方式列表中的侯选

热门文章

  1. 国产32位MCU超频测试
  2. 微信H5游戏 小说公众号域名被拦截之解决
  3. C# WinForm 添加等待界面 利用Gif图片实现
  4. 微信小程序(原生)——复制、剪贴板功能
  5. 【项目实战】Python —— 一:坦克大战
  6. ByteBuffer.wrap函数
  7. JFormDesigner的使用
  8. 《机器学习》西瓜书课后习题9.4——python实现K-means算法
  9. SEO作弊:博客群发会被K掉吗?
  10. 多线程设计模式读书笔记(一)