jetty 长时间运行之后出现 PWC6117 file not found

严重: PWC6117: File "%2Ftmp%2Fjetty-0.0.0.0-9090-admin.war-_admin-any-%2Fwebapp%2Ferror%2F404.jsp" not found

出现以上错误,运行下

bin/jetty.sh check
RUN_CMD        =  /usr/bin/java -Djetty.home=/jetty/jetty-distribution-8.1.6.v20120903 -Djava.io.tmpdir=/tmp -jar

很明显,linux一段时间后会删除tmp文件夹下的文件,导致jetty的异常,file not found

cat /etc/cron.daily/tmpwatch
rhel6下清理tmp的相关脚本
#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
    -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
    -X '/tmp/hsperfdata_*' 10d /tmp
/usr/sbin/tmpwatch "$flags" 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
    if [ -d "$d" ]; then
    /usr/sbin/tmpwatch "$flags" -f 30d "$d"
    fi
done

可以看到是30d清理一次

 

 

解决办法:

修改jetty.sh,吧tmpdir指定到系统不会默认清空的文件夹下即可。

TMPDIR=${TMPDIR:-/jetty/jetty-distribution-8.1.6.v20120903/tmp}

 

如果是java -jar start.jar启动也可以指定tmp目录,命令如下:

java -jar start.jar -Djava.io.tmpdir=tmp

萌萌的IT人,IT人的乐园

posted @ 2013-07-09 20:27  yanghuahui  阅读(5107)  评论(0编辑  收藏  举报