安装cronolog
1.YUM 安装
使用cronolog包实现按日期分割catalina.out日志文件
yum install cronolog
2.源码安装
(1).下载(最新版本)
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
(2).解压缩
tar zxvf cronolog-1.6.2.tar.gz
(3).进入cronolog安装文件所在目录
cd cronolog-1.6.2
(4).运行安装
./configure
make
make install
(5).查看cronolog安装后所在目录(验证安装是否成功)
which cronolog
/usr/sbin/cronolog
按天自动切割
cd tomcat/bin
vi catalina.sh
修改catalina.sh,tomcat8.5版本的212行位置:
if [ -z "$CATALINA_OUT" ] ; then
# CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out <!-- 注释此行,添加下一行 -->
CATALINA_OUT="$CATALINA_BASE"/home/tomcat/logs/catalina.%Y-%m-%d.out
fi
修改大概445行左右位置:
shift
#touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-D$ENDORSED_PROP="\"$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 /home/tomcat/logs/catalina.%Y-%m-%d.out >> /dev/null &
else
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-D$ENDORSED_PROP="\"$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 /home/tomcat/logs/catalina.%Y-%m-%d.out >> /dev/null &
fi
定期删除
使用cronolog,自行下载安装
crontab -e
将下列代码输入进去,表示在每天的0点删除最后修改时间为30天之前的.out文件:
00 00 * * * /bin/find /home/tomcat/logs/* -mtime +30 -type f -name "catalina.*.out" -exec /bin/rm -f {} \;
wq保存退出,会输出:
crontab: installing new crontab
可通过crontab -l进行查看: