linux 自动重启tomcat 脚本

Tomcat作为开源的服务器,性能与稳定性上比起一些商业服务器还是要差一些。将项目部署到Tomcat后隔段时间就会死掉,出现这种问题的主要原因可能是内存数据溢出,因为Tomcat容器在发生大量与数据库交互查询或者操作的时候很容易出现问题。定时重启是一个很好的补救措施,定时重启可以定时的清理内存也降低了Tomcat运行的风险,从而保持tomcat的最佳性能。
一、写一个shell脚本mytt.sh,重新启动tomcat
#!/bin/sh
pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo $pid
if [ -n "$pid" ]
then
{
   echo ===========shutdown================
   /usr/local/tomcat/bin/shutdown.sh
   sleep 2
   pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'`
   if [ -n "$pid" ]
   then
    {
      sleep 2
      echo ========kill tomcat begin==============
      echo $pid
      kill -9 $pid
      echo ========kill tomcat end==============
    }
   fi
   sleep 2
   echo ===========startup.sh==============
   /usr/local/tomcat/bin/startup.sh
}
else
echo ===========startup.sh==============
/usr/local/tomcat/bin/startup.sh
fi
 
文件名可以随便取,不过注意不要包含“tomcat”的字样,不然会被以上脚本误以为是tomcat的相关进程直接杀掉,从而无法执行后面的启动命令。

二、把mytt.sh文件放到root目录下,并修改权限为可执行文件。

三、在控制台上输入以下命令
  crontab –e

四、按i键编辑这个文本文件,输入以下内容,每天凌晨5:00重启tomcat
  00 05 * * * /root/mytt.sh
 
  按esc键退出编辑,输入wq回车保存

五、启动定时服务
[root@]# service crond stop
[root@]# service crond start

六、乱码问题
手工重启与默认系统任务自动重启的字符集是不一样的。在jsp中加入<%=System.getProperty( "file.encoding")%>,可以发现系统自动重启与手工自动重启结果不一样,自动重启打印的结果是ANSI_X3.4-1968,手工重启打印的是GB18030.
作者的项目中使用了volicity生成页面,自动重启后生成的页面就会出现乱码。在tomcat的bin下面找到catalina.sh,在里面加上“CATALINA_OPTS=-Dfile.encoding=GB18030”就可以解决这个问题。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值