Tomcat作为开源的服务器,性能与稳定性上比起一些商业服务器还是要差一些。将项目部署到Tomcat后隔段时间就会死掉,出现这种问题的主要原因可能是内存数据溢出,因为Tomcat容器在发生大量与数据库交互查询或者操作的时候很容易出现问题。定时重启是一个很好的补救措施,定时重启可以定时的清理内存也降低了Tomcat运行的风险,从而保持tomcat的最佳性能。
(1)写一个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/tomcat6/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/tomcat6/bin/startup.sh
}
else
echo ===========startup.sh==============
/usr/local/tomcat6/bin/startup.sh
Fi
提示:文件名可以随便取,不过注意不要包含“tomcat”的字样,不然会被以上脚本误以为是tomcat的相关进程直接杀掉,从而无法执行后面的启动命令。
(2)把mytt.sh文件放到root目录下,并修改权限为可执行文件。
(3)在控制台上输入以下命令
crontab –e
(4)按i键编辑这个文本文件,输入以下内容,每天凌晨5:00重启tomcat
00 05 * * * /root/mytt.sh
按esc键退出编辑,输入wq回车保存
(5)启动定时服务
[root@]# service crond stop
[root@]# service crond start
(6)乱码问题
手工重启与默认系统任务自动重启的字符集是不一样的。在jsp中加入<%=System.getProperty( "file.encoding")%>,可以发现系统自动重启与手工自动重启结果不一样,自动重启打印的结果是ANSI_X3.4-1968,手工重启打印的是GB18030.
作者的项目中使用了volicity生成页面,自动重启后生成的页面就会出现乱码。在tomcat的bin下面找到catalina.sh,在里面加上“CATALINA_OPTS=-Dfile.encoding=GB18030”就可以解决这个问题。
本文参考了:myth8860的专栏、小圣空间
分享到:
相关推荐
linux定时自动重启TOMCAT,SHELL脚本, 按制定时间启动脚本,并自动查找TOMCAT进程,关闭TOMCAT进程,然后再启动TOMCAT进程,服务器压力过大,或遭受攻击时,TOMCAT集群时自动维护出问题的TOMCAT。
linux系统tomcat自动重启脚本:判断监控 tomcat日志catalina.out超过一定限度 自动重启tomcat
Linux 监控tomcat,自动重启tomcat服务Linux 监控tomcat,自动重启tomcat服务Linux 监控tomcat,自动重启tomcat服务Linux 监控tomcat,自动重启tomcat服务
linux系统Tomcat重启脚本判断日志超过一定大小自动重启.docx
Windows平台下监控Tomcat运行时服务假死或异常后并尝试自动重启Tomcat,已测试可用 Windows平台下监控Tomcat运行时服务假死或异常后并尝试自动重启Tomcat,已测试可用
linux下tomcat软件:apache-tomcat-6.0.18-src.tar.gz
Shell脚本定时监控tomcat,服务挂掉自动重启
文档详细描述了在Linux中创建定时任务,创建Tomcat重启的脚本文件,增加Tomcat定时重启任务的方法和步骤,对配置中可能出现的问题进行了解答,实际操作,成功实现。
用于linux服务器上tomcat,监听运行情况,并根据情况自动重启的
检测Tomcat运行状态-自动重启
tomcat宕机重启脚本,比较简单的一种设置
用于Tomcat自动重启脚本,避免直接 -9 杀死服务,此脚本使用循环杀进程
tomcat异常关闭自动重启批处理脚本 word文档说明
tomcat自动定时重启,需要根据实际情况 修改log日志,和tomcat服务名。
当tomcat服务假死或异常停止,可以快速实现自动重启
在linux下监测tomcat运行状态,若服务停掉则重启tomcat,在Linux下执行脚本即可运行
自己在工作中遇到的tomcat重启纠结的问题。千辛万苦找到了解决方法。你还让我输入五十个字。真的是过分
自动重启Tomcat脚本,每隔300s监测一次Tomcat启动状态,若没启动则自动重启,注意重新设定端口号,并将2个脚本放到对应的bin目录下(有startup.bat的地方),时间间隔可自行修改
Linux下定时重启Tomcat 1.写一个shell脚本restart.sh,重新启动tomcat vi restart.sh //是新建文件如果没有该文件
教你如何在linux下配置tomcat自动启动的脚本