该脚本用于监控tomcat服务器是否可用,如果服务不可用则重启tomcat

略微修改后也可以用于其他服务的监控

monitor.sh 脚本如下

 #!/bin/sh

 # 定义要监控的页面地址
WebUrl="http://xxxxxxx.com"
GetPageInfo=/dev/null while [ "" = "" ]
do TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})
echo "`date "+%Y-%m-%d %H:%M:%S"` : TomcatServiceCode:"$TomcatServiceCode #如果返回不是http 200 ,说明tomcat已经挂断
#需要杀掉进程,并重启tomcat
if [ $TomcatServiceCode -eq 200 ];then
echo "`date "+%Y-%m-%d %H:%M:%S"` :tomcat is okay."
else
ID=`ps -ef | grep tomcat | grep -v "grep" | awk '{print $2}'`
echo $ID
for id in $ID
do
kill -9 $id
echo "`date "+%Y-%m-%d %H:%M:%S"` : killed $id"
done
echo "`date "+%Y-%m-%d %H:%M:%S"` : PID have been killed"
echo "`date "+%Y-%m-%d %H:%M:%S"` : begin to restart the tomcat."
service tomcat start
echo "`date "+%Y-%m-%d %H:%M:%S"` : tomcat have been restarted."
fi
echo "check done."
echo "`date "+%Y-%m-%d %H:%M:%S"` sleep 60s and wait next check.."
sleep 60s
done

启动脚本

nohup ./monitor.sh >/dev/null 2>&1

最新文章

  1. canvas练习
  2. web storm
  3. docker swarm compose
  4. IEEEtran模版中添加中文:\usepackage{CJKutf8}
  5. 利用less监视模式实时预览样式刷新浏览器
  6. Bag Problem
  7. easyui.combotree.search.js
  8. Java的位运算符实例——与(&)、非(~)、或(|)、异或(^)
  9. RMAN备份各种物理文件
  10. 【Linux】Linux 自己主动挂载NTFS格式移动硬盘
  11. 微信5.0 Android版飞机大战破解无敌模式手记
  12. Django - 用户注册
  13. 搭建 eclipse,maven,tomcat 环境
  14. Kotlin for循环使用
  15. 高端内存映射之kmap_atomic固定映射--Linux内存管理(二十一)
  16. 详解vuex结合localstorage动态监听storage的变化
  17. nuget包管理nuget服务器发布包时出现请求报错 406 (Not Acceptable)
  18. python slenium 中CSS定位
  19. 51Nod - 1228 序列求和 (自然数幂和+伯努利数)
  20. 07LaTeX学习系列之---Latex源文件的结构

热门文章

  1. QTP基本循环正常遍历(代码方式实现)
  2. 学习python-20191108(1)Mysql、Flask
  3. ArcGIS Server10.2忘记密码怎么办?重置ArcGIS Server Manager密码
  4. MS12-020 3389蓝屏攻击
  5. Java IO: 字符流的Piped和CharArray
  6. 91)PHP,cookie代码展示
  7. sm4算法(附源码、测试代码)
  8. Dockerfile创建zabbix监控体系
  9. js类型比较
  10. python中字典dic详解-创建,遍历和排序