Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤
最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤。
1.编写Shell脚本monitor.sh
#!/bin/sh #func:自动监控tomcat脚本并且执行重启操作 #author:EagleHao #date:2018-04-08 #DEFINE #获取tomcat进程ID(其中[grep-w'tomcat']代码中的tomcat需要替换为你的tomcat文件夹名) TomcatID=$(ps-ef|greptomcat|grep-w'tomcat'|grep-v'grep'|awk'{print$2}') #tomcat启动程序(这里注意tomcat实际安装的路径) StartTomcat=/opt/tomcat/bin/startup.sh TomcatCache=/opt/tomcat/work #定义要监控的页面地址 WebUrl=http://localhost:8080 #日志输出 GetPageInfo=/tmp/TomcatMonitor.Info TomcatMonitorLog=/tmp/TomcatMonitor.log Monitor() { echo"[info]开始监控tomcat...[$(date+'%F%H:%M:%S')]" if[$TomcatID];then#这里判断Tomcat进程是否存在 echo"[info]当前tomcat进程ID为:$TomcatID,继续检测页面..." #检测是否启动成功(成功的话页面会返回状态"200") TomcatServiceCode=$(curl-s-o$GetPageInfo-m10--connect-timeout10$WebUrl-w%{http_code}) if[$TomcatServiceCode-eq200];then echo"[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常" else echo"[error]tomcat页面出错,请注意...状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo" echo"[error]页面访问出错,开始重启tomcat" kill-9$TomcatID#杀掉原tomcat进程 sleep3 rm-rf$TomcatCache#清理tomcat缓存 $StartTomcat fi else echo"[error]tomcat进程不存在!tomcat开始自动重启..." echo"[info]$StartTomcat,请稍候..." rm-rf$TomcatCache $StartTomcat fi echo"--------------------------" } Monitor>>$TomcatMonitorLog
2.测试Shell脚本monitor.sh是否允许成功
第一:执行脚本./monitor.sh
如果报权限错误:chmod 777monitor.sh
第二:执行脚本./monitor.sh
如果报/bin/bash^M:,坏的解释器,没有那个文件或目录 :sed-i 's/\r$//'build.sh
第三:执行脚本./monitor.sh
如果有\z字符输出不了:更改xshell字体
3.把脚本加到crontab定时任务中
每分钟检查一次
打开/etc/crontab文件添加定时任务
总结
以上所述是小编给大家介绍的Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。