利用logrotate工具对catalina.out进行日志分割实战

  • A+
所属分类:linux技术
摘要

logrotate是linux自带的日志分割工具,如果没有可以用yum安装 要配置日志分割定时任务,需要在/etc/logrotate.d /下创建一个名为catalina的配置文件

logrotate是linux自带的日志分割工具,如果没有可以用yum安装

yum -y install logrotate

 

要配置日志分割定时任务,需要在/etc/logrotate.d/下创建一个名为catalina的配置文件

(logrotate.d目录下的配置文件是用作logrotate.conf的补充)

touch /etc/logrotate.d/catalina

 

 以下是配置文件内容,可以选择vi/vim编辑catalina配置文件输入内容

/home/tomcat/logs/catalina.out {daily
rotate7
missingok
dateext
compress
notifempty
copytruncate
}

 

也可以选择用echo命令输入内容到catalina配置文件

1 echo -e "/home/tomcat/logs/catalina.outn 2 {ndailynrotate7nmissingokndateextncompressnnotifemptyncopytruncaten}">/etc/logrotate.d/catalina

这里 echo 必须加 -e 参数启用转义字符,引号必须使用 双引号。不然会出现无法换行等格式错误。

 

输入完记得

cat /etc/logrotate.d/catalina

查看一下配置文件内容是否正确。

 

确认无误后,修改/etc/anacrontab来决定任务执行时间

修改之前先对其进行备份

cp /etc/anacrontab /etc/anacrontab.bak

 

备份后对其进行修改

sed -i 's/START_HOURS_RANGE=3-22/START_HOURS_RANGE=0-1/g' /etc/anacrontab

START_HOURS_RANGE=3-22指的是任务在凌晨三点到二十二点之间执行,我们想让它在凌晨0~1点执行,故修改为
START_HOURS_RANGE=0-1

修改完之后日志分割定时任务就配置完成了

附上批处理命令:
pssh -h ip.list -P 'touch /etc/logrotate.d/catalina; echo -e "/home/tomcat/logs/catalina.outn{ndailynrotate7nmissingokndateextncompressnnotifemptyncopytruncaten}">/etc/logrotate.d/catalina; cp /etc/anacrontab /etc/anacrontab.bak; sed -i 's/START_HOURS_RANGE=3-22/START_HOURS_RANGE=0-1/g' /etc/anacrontab'

还原命令:

pssh -h ip.list -P 'mv /etc/anacrontab.bak /etc/anacrontab;rm -f /etc/logrotate.d/catalina'

 

至此,日志分割定时任务配置完成。