zl程序教程

您现在的位置是:首页 >  系统

当前栏目

linux下实时监测tomcat关闭并启动详解程序员

LinuxTomcat实时程序员 详解 启动 关闭 监测
2023-06-13 09:20:15 时间

linux下tomcat总是会无故出现自动关闭的情况,在暂时无法解决该问题时,就需要一个东西能实时监测tomcat是否还正常的运行,若发现已关闭时,执行启动命令。

我们可以添加一个shell脚本来实现监测和启动功能:

 1 # DEFINE 

 3 # 获取tomcat进程ID 

 4 TomcatID=$(ps -ef |grep tomcat |grep -w apache-tomcat-5.5.23|grep -v grep|awk {print $2}) 

 6 # tomcat启动程序(这里注意tomcat实际安装的路径) 

 7 StartTomcat=/usr/local/tomcat/bin/startup.sh 

 8 TomcatCache=/usr/local/tomcat/work 

10 # 定义要监控的页面地址 

11 WebUrl=http://localhost:8080/ 

13 # 日志输出 

14 GetPageInfo=/www/logs/tomcatrestart/TomcatMonitor.Info 

15 TomcatMonitorLog=/www/logs/tomcatrestart/TomcatMonitor.log 

17 Monitor() 

18 { 

19 echo "[info]开始监控tomcat...[$(date +%F %H:%M:%S)]" 

20 if [ $TomcatID ];then # 这里判断TOMCAT进程是否存在 

21 echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..." 

22 # 检测是否启动成功(成功的话页面会返回状态"200") 

23 TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code}) 

24 if [ $TomcatServiceCode -eq 200 ];then 

25 echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常......" 

26 else 

27 echo "[error]tomcat页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo" 

28 echo "[error]页面访问出错,开始重启tomcat" 

29 kill -9 $TomcatID # 杀掉原tomcat进程 

30 sleep 3 

31 rm -rf $TomcatCache # 清理tomcat缓存 

32 $StartTomcat 

33 fi 

34 else 

35 echo "[error]tomcat进程不存在!tomcat开始自动重启..." 

36 echo "[info]$StartTomcat,请稍候......" 

37 rm -rf $TomcatCache 

38 $StartTomcat 

39 fi 

40 echo "------------------------------" 

41 } 

42 Monitor $TomcatMonitorLog

接下来可以使用crontab将脚本加入定时任务中,只需在terminal中输入以下:

1 crontab -e 

2 1 * * * * /tomcat-restart.sh

输入crontab -e命令后,回车,接下来的使用方式就如同执行vi命令是一样的,想要输入时,单击【i】,输入完成后单击【Esc】,输入:wq即可保存输入。

此时,执行service crond restart;命令,即可执行脚本。

上面,我设置每过1分钟就要执行一次脚本。

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/6318.html

服务器部署程序员系统优化网站设置运维