tomcat日志切割catalina.out

法一:利用系统logrotate命令来实现tomcat的日志切割

先定义tomcat的pid 文件

修改$TOMCAT_HOME/bin/catalina.sh文件,大约在128行左右,在PRGDIR下面一行添加CATALINA_PID参数行,修改完成后应该跟下面相同。

# Get standard environment variables
PRGDIR=`dirname "$PRG"`
CATALINA_PID=/var/run/tomcat.pid
#CATALINA_PID=$PRGDIR/CATALINA_PID

也可以自定义pid路径,例如“CATALINA_PID=/var/run/tomcat.pid”

进入logrotate.d
cd /etc/logrotate.d/

编写tomcat的轮询日志配置

[[email protected] logrotate.d]# vim tomcat_ele 
/mnt/tomcat8_ele/logs/catalina.out
{
daily
rotate 15
missingok
notifempty
dateext
compress
delaycompress
create 600 root root
sharedscripts
postrotate
    if [ -f /var/run/tomcat_ele.pid ]; then
        kill -USR1 `cat /var/run/tomcat_ele.pid`
    fi
endscript
}

详细参数请参见:http://dellinger.blog.51cto.com/12445009/1964564

保存退出

给他执行权限

chmod u+x /etc/logrotate.d/tomcat_ele

测试:执行脚本

/usr/sbin/logrotate -vf  /etc/logrotate.d/tomcat_ele

测试成功然后写入定时任务定时切割

#auth root
#date 2017-09-12
#定时刷新ele么的项目日志
00 00 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/tomcat_ele &>/dev/null

配置完成OK



法二“利用cronlog工具来实现日志切割

1.软件包准备

从51cto中下载一个包cronolog-1.6.2.tar.gz  
http://down.51cto.com/data/336272

2.解压

tar xf cronolog-1.6.2.tar.gz

3.准备

cd cronolog-1.6.2
./configure

4.编译

make

5.编译安装

make install

6.配置tomcat的catalina.sh

删掉或注释 注意注释要放在下边要不让会报错

org.apache.catalina.startup.Bootstrap “[email protected]” start  >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

添加下边一行

org.apache.catalina.startup.Bootstrap "[email protected]" start  2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

注意一共要修改两处 一模一样的修改

这样的话就配置完了 配置完成可以重启tomcat

./catalina.sh stop 或./shutdown.sh
./catalina.sh start  或./start.sh

会看到log/下边的catalina.out 变成了以时间命令的日志文件 配置完成

日志改名

如果不习惯catalina日志以时间命令 可以编写一个脚本实现日志改名  crontab执行

[[email protected] logs]# crontab -e
#auth root
#date 2017-09-12
#定时刷新ele么的项目日志
00 05 * * * /bin/sh /server/scripts/ele_logortate.sh &>/dev/null

定时任务脚本内容

[[email protected] logs]# cat /server/scripts/ele_logortate.sh 
#!/bin/sh
Path="/mnt/tomcat8_ele/logs/"
Yesterday=`date +%F -d "-1 day"`
TodayFile=`echo ${Path}catalina.$(date +%F).out`
if [ -f $TodayFile ]
then
    /bin/mv ${Path}catalina.out ${Path}catalina.$Yesterday.out &>/dev/null
    if [ $? -ne 0 ];then
    echo "`date +%F` 改名失败" >>/tmp/ele_logortate.log
    fi
    sleep 5
    /bin/mv $TodayFile ${Path}catalina.out  &>/dev/null
    if [ $? -ne 0 ];then
    echo "`date +%F` 改名失败" >>/tmp/ele_logortate.log
    fi
else
    echo "没有 今天的日志 配置失败" >>/tmp/ele_logortate.log
fi

OK完成。

时间: 2024-08-08 01:28:37

tomcat日志切割catalina.out的相关文章

tomcat日志切割和定期删除

在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话).特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法. 第1章 系统环境 1.1 操作系统环境 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [[email protected] ~]# uname -r 2.6.32-431.el6.x

cronolog日志切割catalina.out

cronolog日志切割catalina.out (一)解压安装cronolog 1:wget  https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz  //下载cronolog 2:tar zxf cronolog-1.6.2.tar.gz     //解压cronolog 3:cd cronolog-1.6.2             //进入安装目录 4:./configure && make &&am

tomcat 日志文件catalina.out日志切割工具安装

摘要: 有使用tomcat的朋友应该都知道,它会把日志文件都写入到catalina.out这个文件中,这个文件也一直在增长,而且这个日志文件不是很友善.所以我们需要对这个文件进行切割,根据我们的需求显示为一个一个文件,还可以定期清除自己不需要的. 简单安装步骤: 1.我们用一个日志切割的工具cronolog.1.6.2.tar.gz 在下载这个文件之前我们先安装gcc编译器. #yum -y install gcc 下载切割工具,以下的两个连接都可以下载到,任意选个都行. #wget http:

Tomcat日志切割(logrotate)

logrotate是个强大的系统软件,它对日志文件有着一套完整的操作模式,譬如:转储.邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作为每日任务执行.自动有了logrotate,我想不用再自己写日志切割脚本. 如下对Tomcat日志catalina.out日志切割 # ls -lh /usr/local/tomcat/logs/catalina.out -rw-r--r-- 1 www www 14M Aug 28 15:55 /usr

tomcat 日志切割

一.日志切割介绍 tomcat日志一般产生的是比较大的,catalina.out文件一般占用比较大,如果不做切割的话,很容易占满存储磁盘,一般需要做切割,切割的方法有多种,现介绍一种系统自动的日志切割的工具:logrotate软件,一般是系统自动的,非常好用. 二.使用logrotate分割tomcat日志 logrotate是个强大的系统软件,它对日志有着一套完整的操作模式,譬如:转存.邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作

Tomcat日志切割

logrotate是个强大的系统软件,它对日志文件有着一套完整的操作模式,譬如:转储.邮件和压缩等,并且默认logrotate 加到cron(/etc/cron.daily/logrotate)作为每日任务执行.自动有了logrotate,我想不用再自己写日志切割脚本. 如下对Tomcat日志catalina.out日志切割   如下对Tomcat日志catalina.out日志切割 ls -lh /usr/local/tomcat/logs/catalina.out # cat /etc/lo

使用cronolog实现tomcat日志切割

背景: Tomcat的日志catalina.out在使用过程中会不断增长,当日志过大时,可能会对tomcat的性能产生影响. 使用日志切割的方法,可以有效解决日志过大的问题.它可以把日志按天进行切割存储,每天产生一个日志文件存储日志. 操作: 1:下载,解压,安装cornolog工具(由于http://cronolog.org冒似不能用了,推荐使用yum方式安装) # yum -y install cronolog.x86_64 2:配置catalina.sh文件(tomcat6.0与tomca

tomcat 日志切割shell脚本

vim tomcat_cut.sh #!/bin/bash log_path=/opt/tomcat8080/logs d=`date +%Y-%m-%d` d4=`date -d'30 day ago' +%Y-%m-%d` cd ${log_path} && cp catalina.out $log_path/catalina.out.$d.log echo > catalina.out rm -rf $log_path/catalina.out.${d4}.log # chmo

实战解决Tomcat日志文件catalina.out文件过大问题

随着项目的运行,Tomcat的日志文件catalina.out的大小日益增大,现在都有好几个GB了.如果我们不做任何处理,catalina.out的文件大小将会持续增加,直到把我们的系统硬盘空间给撑爆不可. 当Tomcat的日志文件catalina.out的大小大于2GB时,Tomcat程序崩溃时将有可能会启动失败并且不会有任何错误信息提示.为了避免该场景的出现,我们要定期轮转catalina.out日志文件. 这里小白使用CentOS6U5自带的logrotate程序来解决catalina.o