原文链接:http://liyan0524.iteye.com/blog/1285644

方法1—分割流

使用cronolog工具切分Tomcat的catalina.out日志文件

cronolog一个对日志切分的小工具,其主页在http://cronolog.org/,我们也可以用它来切分Apache的日志。

推荐用此方法,方法如下

先google一下.cronolog-1.6.2.tar.gz

1.下载cronolog-1.6.2.tar.gz

2.安装

# tar zxvf cronolog-1.6.2.tar.gz
# cronolog-1.6.2/configure
# make
# make install

搞定!

默认是安装在/usr/local/sbin/下.

3.配置

重点来了.注意喽!!!

在tomcat/bin/catalian.sh中找到
org.apache.catalina.startup.Bootstrap "$@" start \     >> "$CATALINA_BASE"/logs/catalina.out 2&1 &

把上面的内容改成:
org.apache.catalina.startup.Bootstrap"$@" start \
|/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &

修改好了.重启

#./catalina.sh start

现去看看劳动成果吧.

# ls /tomcat/logs/

就会发现logs下面多了几个如同catalina.2006.06.01.log的文件了.

方法2—脚本流

事情终究不过是个大文件处理的问题,强大的bash来搞定;
使用cron每天来备份当前的catalina.out,然后清空他的内容;

参考脚本如下:

#!/bin/sh
y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d"`
cd /PATH /tomcat/logs
cp catalina.out catalina.out.$y$m$d
echo
> catalina.out
exit
注意linux系统的cron服务是否启动,是否正常工作,还有脚本的存放路径(原因暂保密)

方法3—猥琐流

打开bin目录下的catalina.sh文件,终究不过是个bash文件,

查找一下,catalina.out总共出现三次;

部分截图:

shift

touch "$CATALINA_BASE"/logs/catalina.out

if [ "$1" = "-security" ] ; then

echo "Using Security Manager"

shift

"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $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_BASE"/logs/catalina.out 2>&1 &

if [ ! -z "$CATALINA_PID" ]; then

echo $! > $CATALINA_PID

fi

else

"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $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_BASE"/logs/catalina.out 2>&1 &
个人觉得也就是这里是写catalina.out文件的;让他写到一个其他的空设备如何?

修改前注意原文件的catalina.sh的备份哟~!!

修改以上代码中的

>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &

>> /dev/null 2>&1 &
保存,然后启动tomcat,目前这个 catalina.out一直是空的了。

这个方法是偶自己想到的,个人认为比较勇敢,目前还没有在生产环境测试过。虚拟机测试是通过的。

方法4—人流

这个方法其实就是linux系统管理员手工去删除,人工操作;

删除之前最好停止tomcat的服务;

[转载]Linux下tomcat的catalina.out文件过大,以及目录更改解决办法的更多相关文章

  1. Linux 下cronolog分割catalina.out文件

    开发项目的时候查看日志,发现catalina.out已经有1个多G,日积月累的慢慢变大,幸亏及时发现还没有导致错误, tomcat默认日志之一输出在catalina.out文件中的,不会分割,不便于使 ...

  2. [转载] Linux 下产生和调试core文件

    原地址:http://blog.csdn.net/shaovey/article/details/2744487 linux下如何产生core,调试core 在程序不寻常退出时,内核会在当前工作目录下 ...

  3. 在Linux下安装PHP过程中,编译时出现错误的解决办法

    在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...

  4. Linux下使用Nginx端口转发出现502错误的一种解决办法

    今天圈里的一个朋友在配置完nfinx80端口转发到5000后,发现一个问题 问题描述: 正确配置了Nginx80端口转5000端口,在CentOS上把.Net core WebAPI站点上传到cent ...

  5. Linux下tomcat的catalina.out屏蔽

    修改catalina.sh ,找到下面的位置: if [ -z "$CATALINA_OUT" ] ; then#CATALINA_OUT="$CATALINA_BASE ...

  6. Tomcat日志catalina.out文件过大的处理方法

    原文地址:http://lcbk.net/tomcat/1396.html 我们知道一般企业使用Tomcat 作为Web端时,它产生的日志会越来越大,特别是catalina.out这个日志文件,然而有 ...

  7. linux下出现ping:unknown host www.baidu.com问题时的解决办法——ubuntu下局域网络的配置

    如果ping域名的时候出现ping:unknown host  xxx.xxx 但是ping IP地址的时候可以通的话 可知是dns服务器没有配置好, 查看一下配置文件/etc/resolv.conf ...

  8. Linux下环境变量配置错误 导致大部分命令不可以使用的解决办法

    直接解决方法:在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 后 Enter

  9. 转载blog_Linux下Tomcat日志定期清理 及 logrotate 配置

    服务器上的tomcat的catalina.out文件越来越大,查看起来很不方便,以前每次都是想起来的时候手工清理一下(cat /dev/null > catalina.out),后来发现了log ...

随机推荐

  1. uC/OS-II内存(OS_mem)块

    /*************************************************************************************************** ...

  2. SQL Server编程(04)基本语法【转载】

    一.定义变量 --简单赋值 declare @a int set @a=5 print @a   --使用select语句赋值 declare @user1 nvarchar(50) select @ ...

  3. 使用js进行string和json之间转换的方法

    在数据传输过种中,json是以文本,即字符串的形式传递,字符串形似Json对象: var str1 = '{ "name": "Amy", "sex& ...

  4. log4net 记录到数据库和本地文件

    1)配置代码 <?xml version="1.0" encoding="utf-8" ?> <configuration> <c ...

  5. 有了这个,再也不用每次连新机器都要设置secure crt属性了

    我连服务器用的是secure crt,每次ssh新服务器的时候都得手动设置字符编码和背景颜色,今天问了旁边的开发原来可以全局设置,以后连服务器的时候就再也不用手动设置相关属性了.步骤如下: 一开始点击 ...

  6. css div垂直居中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. lightbox图片展示效果

    1.lightbox 头部导入: <script type="text/javascript" src="../Public/Js/prototype.js&quo ...

  8. CSS3 让图片镜像对称

    1.HTML代码 <!DOCTYPE html> <html> <head> <title>test</title> </head&g ...

  9. ReSharper 配置及用法(转)

    1:安装后,Resharper会用他自己的英文智能提示,替换掉 vs2010的智能提示,所以我们要换回到vs2010的智能提示 2:快捷键.是使用vs2010的快捷键还是使用 Resharper的快捷 ...

  10. osharp3引入事务后操作结果类别的调整

    /// <summary> /// 表示业务操作结果的枚举, /// 对于业务务操作单元的影响只有二种状态, /// 成功,无变化: 操作将继续,事务将继续 /// 失败:将导致 操作被中 ...