一般情况下,系统运行产生的日志文件 catalina.out 会日积月累不断变大,并不会像其他的日志文件一样,按照每天的日期自动进行分割;所以为了不让 catalina.out 日志文件不断变大影响内存,我们可以使用 cronolog 对其进行分割(操作起来一点不难,请认真看完!!!)。
=================== cronolog安装步骤(源码安装) ================================
1、下载 cronolog压缩文件:
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
注意:如果获取失败,你可以点击 #cronolog# 进行下载;然后安装到你需要指定的安装目录(为了下面的操作方便,您可以安装到如下目录:/usr/sbin/下面)
2、解压缩并进入安装目录:
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
3、运行安装:
./configure && make && make install
注意:此时,你可能遇到安装失败的情况:configure: error: no acceptable cc found in $PATH
不要慌,这个是因为缺少GCC编译器,所有安装一下就可以了:yum install gcc gcc-c++ gcc-g77
安装还了gcc编译器后,再次执行第3步的操作完成cronolog安装;
4、最后验证安装是否成功(查看cronolog安装目录):
which cronolog (一般的安装目录是/usr/sbin/cronolog)
================ 修改 tomcat安装目录下的 bin/catalina.sh ==========================
找到catalina.sh文件中如下的3处位置:
shift
touch “$CATALINA_OUT”
if [ “$1” = “-security” ] ; then
if [ $have_tty -eq 1 ]; then
echo “Using Security Manager”
fi
shift
eval “\”$_RUNJAVA\”” “\”$LOGGING_CONFIG\”” $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs=”\”$JAVA_ENDORSED_DIRS\”” -classpath “\”$CLASSPATH\”” \
-Djava.security.manager \
-Djava.security.policy==”\”$CATALINA_BASE/conf/catalina.policy\”” \
-Dcatalina.base=”\”$CATALINA_BASE\”” \
-Dcatalina.home=”\”$CATALINA_HOME\”” \
-Djava.io.tmpdir=”\”$CATALINA_TMPDIR\”” \
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_OUT” 2>&1 “&”
else
eval “\”$_RUNJAVA\”” “\”$LOGGING_CONFIG\”” $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs=”\”$JAVA_ENDORSED_DIRS\”” -classpath “\”$CLASSPATH\”” \
-Dcatalina.base=”\”$CATALINA_BASE\”” \
-Dcatalina.home=”\”$CATALINA_HOME\”” \
-Djava.io.tmpdir=”\”$CATALINA_TMPDIR\”” \
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_OUT” 2>&1 “&”
fi
将上面3处标蓝色的地方按照下面红色的部分修改:
shift
#touch “$CATALINA_OUT” ----------- 注释掉这行代码
if [ “$1” = “-security” ] ; then
if [ $have_tty -eq 1 ]; then
echo “Using Security Manager”
fi
shift
eval “\”$_RUNJAVA\”” “\”$LOGGING_CONFIG\”” $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs=”\”$JAVA_ENDORSED_DIRS\”” -classpath “\”$CLASSPATH\”” \
-Djava.security.manager \
-Djava.security.policy==”\”$CATALINA_BASE/conf/catalina.policy\”” \
-Dcatalina.base=”\”$CATALINA_BASE\”” \
-Dcatalina.home=”\”$CATALINA_HOME\”” \
-Djava.io.tmpdir=”\”$CATALINA_TMPDIR\”” \
org.apache.catalina.startup.Bootstrap “$@” start 2>&1 | /usr/sbin/cronolog “$CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null & ----------- 以上字体加深的目录就是之前安装 cronolog 的安装目录
else
eval “\”$_RUNJAVA\”” “\”$LOGGING_CONFIG\”” $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs=”\”$JAVA_ENDORSED_DIRS\”” -classpath “\”$CLASSPATH\”” \
-Dcatalina.base=”\”$CATALINA_BASE\”” \
-Dcatalina.home=”\”$CATALINA_HOME\”” \
-Djava.io.tmpdir=”\”$CATALINA_TMPDIR\”” \
org.apache.catalina.startup.Bootstrap “$@” start 2>&1 | /usr/sbin/cronolog “$CATALINA_BASE”/logs/catalina.%Y-%m-%d.out >> /dev/null &
fi
================= 重新启动tomcat,查看是否生效 ============================
如果执行操作成功后,会在/logs/下找到当天的分割日志文件:
此时你会发现,catalina.out 文件大小不会发生变化了,而分割出来的日志文件会不断变大!
下面的操作就是定时删除这些分割的日志了!请移步:https://blog.csdn.net/David_jiahuan/article/details/81120046