深圳网站建设培训班,品牌策划与推广,网络广告推广是怎么做的,银川建企业模板网站目录一、问题二、解决方法1、创建定时任务文件2、修改Tomcat的部分文件3、添加系统的定时调度4、执行monitor.sh文件5、查看脚本执行的日志文件一、问题
当我们的Tomcat配置完成后投入使用后#xff0c;在用户使用一定时间后#xff0c;Tomcat可能会出现一些问题导致进程结束…
目录一、问题二、解决方法1、创建定时任务文件2、修改Tomcat的部分文件3、添加系统的定时调度4、执行monitor.sh文件5、查看脚本执行的日志文件一、问题
当我们的Tomcat配置完成后投入使用后在用户使用一定时间后Tomcat可能会出现一些问题导致进程结束这是就需要我们手动重新启动。
但是开发人员也不能时时刻刻盯着Tomcat服务器为了不导致程序上线后因为Tomcat出现线上bug我们用以下方法去监控Tomcat进程当进程结束时立刻自动重启Tomcat服务器。
二、解决方法
1、创建定时任务文件
在Linux根目录下创建一个 /datas/monitor.sh 脚本文件
#!/bin/sh
# 获取tomcat进程ID
TomcatID$(ps -ef |grep tomcat |grep -w tomcat|grep -v grep|awk {print $2})# tomcat启动程序/datas/apache-tomcat-8.5.84/bin/startup.sh为tomcat的启动脚本
StartTomcat/soft/apache-tomcat-8.5.82_1/bin/startup.sh
TomcatCache/soft/apache-tomcat-8.5.82_1/work# 启动脚本打印的日志
TomcatMonitorLog/tmp/TomcatMonitor.logMonitor()
{
echo [info]开始监控tomcat...[$(date %F %H:%M:%S)]
if [ $TomcatID ];then #这里判断Tomcat进程是否存在echo [info]tomcat正在运行进程ID为:$TomcatID
elseecho [error]tomcat进程不存在!tomcat开始自动重启...echo [info]$StartTomcat请稍候...rm -rf $TomcatCache$StartTomcat
fi
echo -------------end------------
}
Monitor$TomcatMonitorLog注此文件最好不要放到Tomcat文件夹中否则会导致定时任务查询不到Tomcat服务器的进程一直重启服务器
2、修改Tomcat的部分文件
修改tomcat文件里bin目录下的setclasspath.sh文件在文件里面添加JAVA_HOME 和 JAVA_JRE
export JAVA_HOME/datas/jdk1.8.0_60
export JRE_HOME/datas/jdk1.8.0_60/jre3、添加系统的定时调度
修改/etc/crontab 文件在文件末尾添加如下内容
*/1 * * * * root /datas/monitor.sh这里代表着每一分钟执行一次脚本cron表达式可以随意修改成想要的多长时间执行一次
4、执行monitor.sh文件
先用如下命令赋予monitor.sh文件可执行的权限
chmod ux /datas/monitor.sh #赋予文件所有者执行文件的权限进入/datas文件夹执行之前创建的monitor.sh文件
cd /datas
./monitor.sh5、查看脚本执行的日志文件
通过如下命令查看脚本执行情况
tail -f /tmp/TomcatMonitor.log注如果没有运行执行如下命令重启Linux定时调度
systemctl restart crond