您的位置:首页 > 运维架构 > Tomcat

linux下Tomcat6的自动重启及自动重启后的乱码问题

2016-07-12 18:10 513 查看
(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”就可以解决这个问题。

(改成自己需要的字符集,如:UTF-8)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息