linux下实现tomcat定时自动重启

        tomcat自带的脚本中没有提供直接restart的模式,但是有start和shutdown两种模式。要实现restart模式,实际上只需要判断是否已经启动tomcat,若已经启动则限制性shutdown,然后在执行start。或者通过ps aux查询出是否存在tomcat进程,若存在kill -9 tomcat的pid,再进行启动tomcat.通过shell脚本实现tomcat重启,并将该脚本添加到linux的定时任务计划中,就可以实现tomcat的定时自启动功能。

  •          以下是实现tomcat重启的shell脚本

#!/bin/sh    
#初始化全局环境变量
. /etc/profile

#查找tomcat的pid
pid=`ps aux | grep tomcat | grep -v grep | grep -v Restart | grep -v restart | awk '{print $2}'`
echo "the tomcat pid is $pid"  

#判断tomcat进程是否存在
if [ -n "$pid" ];then
   sleep 1
   pid=`ps aux | grep tomcat | grep -v grep | grep -v restart | grep -v Restart | awk '{print $2}'`
   if [ -n "$pid" ]; then
      sleep 1
      echo "tomcat进程将被杀死."
      kill -9 $pid
   fi
   
   sleep 1  

   echo "tomcat进程已经被杀死,先重新启动tomcat." 
   service tomcat start
else
    echo "tomcat进程不存在,先重新启动tomcat."
    service tomcat start
fi
                     
     由于我原来对tomcat已经做了服务自启动,因此可以直接执行service tomcat start 启动tomcat。

  • 实现tomcat定时任务

vi /etc/crontab
可以看到以下内容

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed


以上备注说明非常清楚,不再加以详细说明,将tomcat重启执行脚本语句添加到最后一行。

#设定每天凌晨3点整重启tomcat
0 3 * * * root sh /home/scripts/tomcat/restart >> /home/logs/tomcat/restart.log

特别注意,在写完脚本后要enter,否则crond服务无法识别,定时任务无法生效

保存并重启crontab服务

service crond restart

以上便完成了tomcat的定时重启功能


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值