win server服务器上面的tomcat老是不定时挂掉, 于是利用定时操作脚本判断tomcat80端口是否在运行, 如果运行则放过, 如果down掉就启动tomcat,解决tomcat不定时挂掉导致业务数据流通丢失问题.不扯淡, 上脚本.
1.给tomcat赋予环境变量
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 变量名:CATALINA_HOME 2 路径:C:\Program Files\Java\apache-tomcat-8.0.35
2.批处理脚本(startTomcat.bat)
::Final interpretation is owned by chenglee ::Thankyou ::温馨提示:如果放在win启动计划中,如需要就开启第六行代码, ::作用是检测完马上自动关闭检测脚本待下次运行, 如果不开启就是检测完停留等待手动关闭, ::作用:窗口叠加 ::@echo off<nul 3>nul @echo off&title Checking For System, Do Not Switch Off, Thankyou... set num=8090 for /f "tokens=3 delims=: " %%a in ('netstat -an') do ( if "%%a"=="%num%" goto en ) if not "%%a"=="%num%" goto en1 :en echo.Checking For local%NUM%Port is Opening... pause exit :en1 echo.Checking For local%NUM%Port is Not Opening... echo.Starting Tomcat Program... call "%CATALINA_HOME%"\bin\startup.bat echo.Starting Succes! echo.OK! pause exit
3.计划任务
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 控制面板-->管理工具-->计划任务 2 3 里面去新建
附上我win10的计划
脚本判断80端口是否在netstat中, 如果在则证明tomcat是运行的, 这个时候不做任何操作, 不在就是挂掉了,然后启动tomcat, 当然, 您的tomcat是什么端口就改成什么端口, 换汤不换药.