linux crontab自动重启tomcat及重启后乱码问题

自动重启tomcat及重启后乱码问题

  Tomcat作为开源的服务器,性能与稳定性上比起一些商业服务器还是要差一些。将项目部署到Tomcat后隔段时间就会死掉,出现这种问题的主要原因可 能是内存数据溢出,因为Tomcat容器在发生大量与数据库交互查询或者操作的时候很容易出现问题。定时重启是一个很好的补救措施,定时重启可以定时的清 理内存也降低了Tomcat运行的风险,从而保持tomcat的最佳性能。
定时执行的命令是crontab,编辑/var/spool/cron/下的root文件(路径根据系统的不同可能不同,没有root文件就新建),加入以下两行:
1 6 * * * /usr/local/apache-tomcat-6.0.20/bin/shutdown.sh
2 6 * * * /usr/local/apache-tomcat-6.0.20/bin/startup.sh
其中开头的1 6 * * *表示在每天的早上6点1分执行,详细介绍请百度之。
这样在关闭之后1分种再开启tomcat。
你可能要问,可不可以都在6点1分执行,即都写成1 6 * * *? 答案是不行,虽然开启tomcat的命令写在关闭的下面,但同一时间的命令并不是按写的先后顺序执行的,有可能先执行了开启的命令,后执行关闭的命令,这样今天tomcat就用不了了。
当然你可以把这两行命令(去掉前面的1 6 * * *)写在一个restartTomcat.sh文件里,中间加一行sleep 10s,然后在root文件里加一句1 6 * * * restartTomcat.sh。如此就可以每天早上6点1分自动重启tomcat了。

自动重启的问题解决了,但又带来了一个新的问题:网站运行良好,但有些地方显示的汉字是乱码,手工重启tomcat后就没有乱码了。原因是手工重启与默认系统任务自动重启的字符集是不一样的。解决方法是编辑/usr/local/apache-tomcat-6.0.20/bin/catalina.sh,在里面加一行:
CATALINA_OPTS=-Dfile.encoding=UTF8
就OK了(具体编码根据页面编码修改)。

 

 

以上是网上找的一篇文章

我在自动重启resin中也遇到了此问题,修改bin/httpd.sh文件,加上如下代码:

LANG="en_US.UTF-8"

export LANG

你可能感兴趣的:(linux crontab自动重启tomcat及重启后乱码问题)