cronolog
目前搜到的大部分文章讲的都是使用 cronolog
去拆分 catalina.out
,参考:
安装
其中 ubuntu-20.04 可以直接安装,并且可执行文件目录在/usr/bin/
目录下。
apt install -y cronolog
which cronolog
而 centos-7 则要麻烦些,没有现成的 yum
源,需要从页面下载,并且可执行目录在 /usr/sbin
目录下。
yum install -y wget
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/c/cronolog-1.6.2-14.el7.x86_64.rpm
yum install -y cronolog-1.6.2-14.el7.x86_64.rpm
which cronolog
配置
可以看到 startup.sh
调的是 catalina.sh
中的 start
所以只需要修改 start
块即可。
修改 catalian.sh
:
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.log/g' catalina.sh
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
结果
ratatelog
然而实际上可以注意到:在打开 catalina.sh
的开头注释中就已经说明了更容易的方法。
安装
apt install -y apache2-utils
centos-7 需要安装 httpd
yum install -y httpd
which rotatelogs
配置
放一个 setenv.sh
进去即可。
echo 'CATALINA_OUT_CMD="/usr/bin/rotatelogs -f $CATALINA_BASE/logs/catalina.out.%Y-%m-%d.log 86400' > setenv.sh