tomcat监控,自动重启shell脚本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了tomcat监控,自动重启shell脚本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2902字,纯文字阅读大概需要5分钟。
内容图文
tomcat监控,自动重启shell脚本如下,取名 monitor_tomcat.sh:
#!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # 获取tomcat进程ID(其中[grep -w '.....']中的.....需要替换为实际部署的tomcat文件夹名,如下) TomcatID=$(ps -ef |grep tomcat |grep -w '/usr/local/tomcat/apache-tomcat-8.5.31'|grep -v 'grep'|awk '{print $2}') # tomcat启动程序(这里注意tomcat实际安装的路径) StartTomcat=/usr/local/tomcat/apache-tomcat-8.5.31/bin/startup.sh TomcatCache=/usr/local/tomcat/apache-tomcat-8.5.31/work #定义要监控的页面地址 WebUrl=http://localhost:8080/test #日志输出 GetPageInfo=/tmp/tomcat_oip_back_visit.info TomcatMonitorLog=/tmp/tomcat_oip_back_monitor.log Monitor() { echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]" if [ $TomcatID ];then #这里判断Tomcat进程是否存在 echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..." # 检测是否启动成功(成功的话页面会返回状态"200"),100秒无响应就不等待了 TomcatServiceCode=$(curl -s -o $GetPageInfo -m 100 --connect-timeout 100 $WebUrl -w %{http_code}) if [ $TomcatServiceCode -eq 200 ];then echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常" else echo "[error]页面访问100秒内无响应,请注意... 状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo" echo "开始重启tomcat......." kill -9 $TomcatID # 杀掉原tomcat进程 sleep 3 rm -rf $TomcatCache # 清理tomcat缓存 $StartTomcat fi else echo "[error]tomcat进程不存在!tomcat开始自动重启..." echo "[info]$StartTomcat,请稍候..." rm -rf $TomcatCache $StartTomcat fi echo "--------------------------" } Monitor>>$TomcatMonitorLog
2、赋予monitor_tomcat.sh可执行权限:
chmod 777 monitor_tomcat.sh
3、手动执行一下monitor_tomcat.sh看是否能启动指定位置的tomcat
./monitor_tomcat.sh
4、脚本解释说明
ps -e //显示所有进程 ps -f //按树状显示 grep tomcat //只取含有tomcat的行 grep -w 'apache-tomcat-5.5.23' //-w选项搜索一个单词,并且避免搜索到词中的部分字串。 搜索含有apache-tomcat-5.5.23的行 grep -v 'grep' //去掉含有grep的行 awk '{print $2}' //用空格切分 取第二列 ps -ef |grep tomcat |grep -w 'apache-tomcat-5.5.23'|grep -v 'grep'|awk '{print $2}' //获取tomcat的进程id 但是仅仅是 tomcat进程存在是不够的,需要访问下 站点页面看看 是否访问正常 正常状态为200 通过curl curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code} //访问页面并保存页面内容返回状态码 -s --silent //静默模式,就是不显示错误和进度 -o $GetPageInfo //将文件保存到本地并命名为$GetPageInfo -m //表示获取网页的最长时间(数据传输的最大允许时间) -m 10 //表示如果10秒内无法完成获取网页源码的操作,则放弃 --connect-timeout //连接超时时间 --connect-timeout 10 //表示如果10秒内无法连接,则放弃 $WebUrl //就是我们要访问的页面路径变量 -w //curl的-w参数我们可以自定义curl的输出,%{http_code}代表http状态码 如果状态码为200则 tomcat正常,否则 kill 杀掉tomcat 进程, 访问tomcat的启动脚本 start.sh 启动tomcat
5、添加进crontab中
输入命令 :
crontab -e
进入编辑界面(操作类似vim),编辑为每5分钟执行一次脚本进行tomcat检测
*/5 * * * * /usr/local/my_crontab/monitor_tomcat.sh
内容总结
以上是互联网集市为您收集整理的tomcat监控,自动重启shell脚本全部内容,希望文章能够帮你解决tomcat监控,自动重启shell脚本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。