天天看点

linux下监控tomcat自动重启

很多时候,当linux服务器挂了后重启后,tomcat服务器却还没重新启动导致项目网站无法访问,下面来解决一下这个问题

1.使用yum安装crontab服务,这是一个定时器服务,可以自己设定时间,多久监控一下tomcat服务器是不是挂了,如果挂了,它会让它重新启动起来。

安装命令:yum install vixie-cron

安装完成后,使用一下命令看看:

/sbin/service crond start     //启动服务

/sbin/service crond stop     //关闭服务

/sbin/service crond restart     //重启服务

/sbin/service crond reload      //重新载入配置

查看crontab服务状态:service crond status

手动启动crontab服务:service crond start

先启动crond 服务,然后再查看status,如下图使用:service crond status查看,is running说明正常running

linux下监控tomcat自动重启

2.查看crontab服务是否已设置为开机启动,执行命令:ntsysv

在linux上面直接输入命令后,会出现如下界面:

linux下监控tomcat自动重启

上面为服务列表,可以看到crond的服务,带*号的说明服务是开机启动的,你可以按键盘的上下键选择服务,然后使用空格键设置带*号or不带,也就是是否开机启动,然后按tab键可以从上面的服务列表切换到下面的确定和取消,同样是按空格键选择确定和取消。

3.写shell监控语句

#!/bin/sh
basePath=$(cd $(dirname $0);pwd)
echo ""
echo "####################begin check####################"
for tomcat in $(ls -F|grep /$|grep tomcat);
do
        if [ -z  "$(ps -ef|grep $basePath/$tomcat |grep java)" ];then
                echo "$tomcat is not run!"
                sh $tomcat/bin/startup.sh &
                echo `date +'%Y-%m-%d %H:%M:%S'` "$tomcat start!" >> $basePath/check.log
        fi
done;
echo "####################end check####################"
echo ""
           

这个是一个demo的监控语句,各位觉得不好也可以重新写。touch一个xxx.sh文件,文件名自己取,我的是叫check.sh,然后将上面语句写到里面去。

然后将其文件放在和你的tomcat同一个文件目录下面,如下图:

linux下监控tomcat自动重启

4.将shell执行程序加到定时器里面去,也就是上面安装的那个crontab服务。

执行命令:crontab -e    然后会进入到一个文本编辑状态里面去,然后将其下面语句写到当前进入的这个文本里面去

命令为:*/1 * * * * sh /usr/local/tomcat/check.sh

命令前面的1为时间,也就是1分钟,/usr/local/tomcat/check.sh是你写的shell监控程序check.sh文本的地址,copy完这个命令后就可以了保存退出了。然后现在全部都ok了,启动crontab服务让它运行去吧。