• taomcat中catalina.out文件


    项目中发现在linux环境下布署的tomcat所占用的磁盘空间越来越大,是catalina.out 文件,每天几乎是2个G,发现可能会影响到tomcat服务(没确定)正常访问。
    文件这么大,其实已经无法用文本文档工具打开查看。
    catalina.out是在catalina_home/bin/catalina.sh文件中创建的

    这个问题,如果想解决,方式也有一些
    1.Tomcat关闭日志输出
    具体方法详见:http://www.cnblogs.com/Alanf/p/7905478.html
    ------------------------------------------------------------
    2.分割日志的方式    
    利用cronolog工具将tomcat产生的catalina.out文件根据日期进行分割,
    将每天产生的日志存放在一个独立的文件中,这样单个文件就不会太大,方便维护和检查日志。
    方法如下:
    1.安装cronolog工具,到http://cronolog.org/进行下载cronolog-1.6.2.tar.gz
    (1)解压:tar  zxvf  cronolog-1.6.2.tar.gz
    (2)进入解压后的目录: cd cronolog-1.6.2
    (3)执行:./configure
    (4)编译:make
    (5)安装:make install
    可以查看安装路径,用命令:which  cronolog  (安装路径后面会用到,路径默认为)
    (6)设置tomcat
    在tomcat/bin/catalina.sh中找到:
        org.apache.catalina.startup.Bootstrap "$@" start
        >> "$CATALINA_BASE"/logs/catalina.out 2&1 &


    将其改为:
        org.apache.catalina.startup.Bootstrap "$@" start 2>&1
         |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d >> /dev/null &

    注:在此要留意空格和换行,其中/usr/local/sbin/cronolog为cronolog的安装目录
    在 if 和 else 中都要进行修改。
    ok,配置完成,重启tomcat,在tomcat/logs/下看到类似catalina.out.2012.3.29这样的文件说明操作已经成功。
    ---------------------------------------------------------
    3.定期轮转catalina.out日志文件

    这里使用CentOS6U5自带的logrotate程序来解决catalina.out的日志轮转问题。
    这种方式比较简单。
    在/etc/logrotate.d/目录下新建一个名为tomcat的文件,

    cat >/etc/logrotate.d/tomcat <<EOF
    /usr/local/apache-tomcat-8.0.28/logs/catalina.out{
        copytruncate
        daily
        rotate 7
        missingok
        compress
        size 16M
    }
    EOF

    以上的配置说明:
    /usr/local/apache-tomcat-8.0.28/logs/catalina.out{ # 要轮转的文件
        copytruncate # 创建新的catalina.out副本后,截断源catalina.out文件
        daily     # 每天进行catalina.out文件的轮转
        rotate 7   # 至多保留7个副本
        missingok   # 如果要轮转的文件丢失了,继续轮转而不报错
        compress   # 使用压缩的方式(非常有用,节省硬盘空间;一个2~3GB的日志文件可以压缩成60MB左右)
        size 16M   # 当catalina.out文件大于16MB时,就轮转
    }

    以上是如何工作的呢?

    每天晚上crond守护进程会运行在/etc/cron.daily目录中的任务列表;
    与logrotate相关的脚本也在/etc/cron.daily目录中。运行的方式为"/usr/bin/logrotate /etc/logrotate.conf";
    /etc/logrotate.conf文件include了/etc/logrotate.d/目录下的所有文件。还包括我们上面刚创建的tomcat文件;
    /etc/logrotate.d/tomcat文件会触发/usr/local/apache-tomcat-8.0.28/logs/catalina.out文件的轮转。

    以上是程序自动完成的,不需要我们干预。当然了,我们也可以使用手工的方式进行logrotate程序。
    在命令行进行如下运行:
    logrotate /etc/logrotate.conf
    或者只轮转刚刚的tomcat配置文件,可以这样运行:
    logrotate --force /etc/logrotate.d/tomcat

    要想获得logrotate程序的更多帮助信息,可以查看其man page,
    man logrotate

    可以看一下catalina.out轮转前后的文件大小,

    轮转之前:
    du -sh *
    ...
    2.0G    catalina.out # 未轮转之前的文件大小
    ...

    轮转之后的文件大小:
    # du -sh catalina.out*
    2.0M    catalina.out
    60M catalina.out.1.gz # 轮转之后,进行压缩,日志文件变得更小了


    另外在Tomcat的logs目录,每天都会产生很多日志文件,
    我们也可以定期手工或使用定时任务来删除7天前的日志文件,这里使用手工的方式进行演示,

    cd /usr/local/apache-tomcat-8.0.28/logs
    find -mtime +7 -exec rm -f {} ;
    ---------------------------------------------------------------------


    日志查看有用的一个方法,查看前清理一下catalina.out文件
    清理方式是:
    [root@sjb logs]# cat > catalina.out
    然后按一下 crtl+z

    ok了。

    备注:随笔中内容来源于网上资料整理,仅供参考。

  • 相关阅读:
    canvas实现音乐中的歌词播放效果
    canvas调节视频颜色
    clip API实现遮罩
    总有那么几款发型 是经典不过时的
    很多人喜欢露脚踝你觉得时尚吗?
    王者荣耀花木兰攻略解析
    十位王者给出的单排心得
    IntelliJ IDEA2017 + tomcat 即改即生效 实现热部署
    IntelliJ IDEA2017 + tomcat 即改即生效 实现热部署
    jqGrid分页查询出错
  • 原文地址:https://www.cnblogs.com/Alanf/p/8031598.html
Copyright © 2020-2023  润新知