tomcat 日志切割

一、日志切割介绍

tomcat日志一般产生的是比较大的,catalina.out文件一般占用比较大,如果不做切割的话,很容易占满存储磁盘,一般需要做切割,切割的方法有多种,现介绍一种系统自动的日志切割的工具:logrotate软件,一般是系统自动的,非常好用。

二、使用logrotate分割tomcat日志

logrotate是个强大的系统软件,它对日志有着一套完整的操作模式,譬如:转存。邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作为每日任务执行。自动有了logrotate,可以不用使用脚本切割了。

配置tomcat的日志分割

针对生产中的tomcat实例日志的切割,配置如下:

cat /etc/logrotate.d/tomcat

/webserver/tomcat/college-admin/logs/catalina.out

/webserver/tomcat/college-server/logs/catalina.out

/webserver/tomcat/innospace-file-server/logs/catalina.out

/webserver/tomcat/innospace-admin/logs/catalina.out

/webserver/tomcat/innospace-server-news/logs/catalina.out

/webserver/tomcat/innospace-server-activity/logs/catalina.out

/webserver/tomcat/innospace-server-space/logs/catalina.out

/webserver/tomcat/innospace-server-park/logs/catalina.out

/webserver/tomcat/innospace-server/logs/catalina.out {

daily

rotate 30

missingok

dateext

nocompress

notifempty

copytruncate

}

参数详解:

daily  指定转储周期为每天

rotate  5  指定日志文件删除之前转储的次数,0指没有备份,5只保留 5个备份

missingok  如果日志不存在则忽略该警告信息

dateext      文件后缀是日期格式,也就是切割后文件是xxx.log-20150828.gz

nocompress   通过gzip压缩转储以后的日志

notifempty     如果是空文件的话,不转储

copytruncate   用于还在打开中的日志文件,把当前日志备份并截断

立即截断日志:# logrotate --force /etc/logrotate.d/tomcat

指定切割时间:

[[email protected] ~]# crontab -l

00 00 * * * /usr/sbin/logrotate --force /etc/logrotate.d/tomcat

三、logrotate参数说明

参数名称    含义

compress                 通过gzip 压缩转储以后的日志

nocompress               不压缩转储

copytruncate             打开中的日志转储

nocopytruncate              备份日志文件,但是不截断

nocreate                    不建立新日志

delaycompress           延迟压缩,和compress一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress         转储并压缩

errors address          转储时错误信息发送指定地址

ifempty                 文件为空也转储

notifempty                  如果文件为空,不转储

mail address            发送转储日志到指定邮箱

nomail                  转储不发邮件

olddir directory            转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统

noolddir                    转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript         在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript    在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

daily                   按天存储

weekly                  按周存储

monthly                 按月存储

rotate count            日志转存保留的前多少份,多余的会被删除

tabootext [+] list      让logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和 ~
size

size           当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB

extension           指定转存日志后缀名,例如 .log

dateformat          设置日志文件名日期格式默认为 %Y%m%d

参考文献:http://pvbutler.blog.51cto.com/7662323/1653088

时间: 2024-08-24 13:30:50

tomcat 日志切割的相关文章

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

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=$

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日志切割

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】Tomcat日志切割

下载并解压缩 cronolog # tar zxvf cronolog-1.6.2.tar.gz 2.进入cronolog安装文件所在目录 # cd cronolog-1.6.2 3.运行安装 # ./configure # make # make install 4.查看cronolog安装后所在目录(验证安装是否成功) # which cronolog 正常情况下显示: /usr/local/sbin/cronolog 5.要想分割tomcat的catalina.out,需作如下工作: To

centos记录uptime,tomcat日志切割,远程拷贝日志脚本

1.uptime日志脚本(每天记录) #!/bin/sh dir=/tmp/uptime_log process=`ps -ef|grep $0|grep -v "grep" |grep -v "vim"|grep -v "ps"|wc -l` if [ $process -gt 2 ];then echo $process exit; fi if [ ! -d $dir ];then mkdir -p $dir; fi while true d

tomcat日志切割脚本shell

tomcat-rotate.sh: #!/bin/bash log_path="/home/tomcat7-api/logs/"expried_time=7 function delete_log() { local currentDate=`date +%s` for file in find $1 -name "*.log" -o -name "*.txt" do local name=$file local modifyDate=$(sta