Linux Tomcat 定时重启中文乱码
来源:互联网 发布:sftp 端口号 编辑:程序博客网 时间:2024/04/19 14:01
自动重启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了。
问题集锦:
1、有些地方显示的汉字是乱码,手工重启tomcat后就没有乱码了。原因是手工重启与默认系统任务自动重启的字符集是不一样的,这是因为Unix/Linux下使用crontab是的运行环境以及不是用户环境了,因此原本用户下的一些环境变量的设置就失效了。例如原来用户环境变量设置的是GB2312,但是使用crontab运行时的环境变量就可能是ISO8859-1。解决方法是编辑/usr/local/apache-tomcat-6.0.20/bin/catalina.sh,在里面加一行:
CATALINA_OPTS=-Dfile.encoding=UTF8
就OK了(具体编码根据页面编码修改)。
2、如果还不起作用,可以试试以下方法。
修改当前用户下 .bash_profile 文件,添加一行
export LANG=en_US.UTF-8
之后在定时脚本里引入此文件。
! /usr/local/bin/bash
. /home/username/.bash_profile
注意,在/home/username/.profile前面有一个点和空格。
Linux 下.(点)开头的文件默认是隐藏,可以用 ll -a 命令查看。
3、使用crontab 的时候还要注意一点。
使用方式 :
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
说明 :
-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
-u user 此参数省略的话,默认编辑当前用户的crontab。
例子:crontab -u tom /home/tom/test.cron
导入tom用户下,test.cron这个时程表,此文件可以自己创建,然后写一些执行脚本,前提是这个脚本必须有执行的权限,不然会失败。
假设 test.cron 里引用了,back.sh 这个脚本,那么可用 chomd +x /home/tom/backup.sh (增加可执行权限)
可以直接执行此脚本试试,然后再放到crontab里。
这样在/var/spool/cron目录下会增加一个tom的文件,就是tom用户的时程表了,一般还会有root这个文件。
如果是root用户要编辑此crontab的话,可使用
crontab -u tom -e //编辑
crontab -u tom -l //查看
cron 服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
HOME=/ //使用者运行的路径,这里是根目录
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本
还要注意/etc/目录下两个文件。
/etc/cron.deny
该文件中所列的用户不允许使用Crontab命令
/etc/cron.allow
该文件中所列的用户允许使用Crontab命令
如果都存在则以/etc/cron.allow 优先。
- Linux Tomcat 定时重启中文乱码
- linux 定时重启 tomcat
- linux 定时重启 tomcat
- linux 定时重启tomcat
- linux定时重启tomcat
- linux定时重启tomcat
- linux下定时重启tomcat
- linux下定时任务-重启tomcat
- linux下定时重启tomcat
- linux 设置tomcat定时重启
- Linux每天定时重启Tomcat服务
- linux环境定时重启tomcat
- linux 定时重启tomcat 服务
- 定时重启tomcat脚本导致的乱码问题
- tomcat定时重启
- 定时重启tomcat
- Linux下定时重启Tomcat(修改)
- linux下实现tomcat定时自动重启
- java中重复数据的去除
- 内核_抢占
- Android Activity生命周期大全详解
- 服务器mysql数据库主从同步
- 搭建Django后的第一个工程
- Linux Tomcat 定时重启中文乱码
- ubuntu12.04安装svn 1.7
- GridView自定義分頁---派生類(4a) .
- spring动态定时器配置
- java 异常总结
- 关于 OS patch
- Ultimate Fade-in slideshow
- xshell总是前端显示解决办法
- hadoop作业执行流程及代码简略解读