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
E-mail: huahuiyang@gmail.com
https://www.linkedin.com/in/huahuiyang/