Tomcat默认生成的日志文件catalina.out,随着时间的推移,逐渐增大,可能达到G数量级。文件过大,我们将无法使用过常规编辑工具查看,严重影响系统维护工作
今天我们使用cronolog工具来做分割
- cronolog安装使用
A、 cronolog工具下载
官方URL:http://cronolog.org/download/index.html(可能下载不了,可以找度娘)
B、 cronolog编译安装
tar xvf cronolog-.tar.gz
./configure
make
sudo make install
C、 修改Tomcat启动脚本catalina.sh
1、 修改输出日志路径
修改:
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
为:
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
fi
2、 删除生成日志文件
注释:
touch "$CATALINA_OUT"
为:
#touch "$CATALINA_OUT"
3、 修改启动脚本参数
修改:
org.apache.catalina.startup.Bootstrap "[email protected]" start \
>> "$CATALINA_OUT" >& "&"
为:
org.apache.catalina.startup.Bootstrap "[email protected]" start >& \
| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
D、 重启Tomcat
Tomcat输出日志文件分割成功,输出log文件格式为:catalina.20XX-XX-XX.out类型
-
Linux定时删除文件
日志文件太多了之后需要定时删除
文件删除命令Find
代码如下:
find /root/apache-tomcat-/logs -type -f -mtime + -exec rm -rf {} \;
以上命令删除30天以前的过期文件
命令说明:
/root/apache-tomcat-7.0.54/logs是查找文件的路径。
-type f是指定文件类型为普通文件。
-mtime +6是指修改时间距离现在6天的文件。
-exec rm -f指执行删除匹配出来的文件并且不提示,有的系统需要带单引号,有的不需要。
加入Crontab任务
将以上命令,添加到crontab中,即可实现定期删除了。
比如,每天的0点0分实现删除,可以这样:
代码如下:
#crontab -e
* * * find /root/apache/logs -type -f -mtime + -exec rm -rf {} \;