码迷,mamicode.com
首页 > 其他好文 > 详细

Logrotate使用

时间:2015-03-30 19:04:56      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:logrotatein

$ rpm -qa|grep logrotate
logrotate-3.7.8-17.el6.x86_64
$ rpm -qi logrotate-3.7.8-17.el6.x86_64
Name        : logrotate                    Relocations: (not relocatable)
Version     : 3.7.8                             Vendor: CentOS
Release     : 17.el6                        Build Date: Thu 18 Jul 2013 06:08:08 PM CST
Install Date: Fri 03 Jan 2014 11:27:02 AM CST      Build Host: c6b8.bsys.dev.centos.org
Group       : System Environment/Base       Source RPM: logrotate-3.7.8-17.el6.src.rpm
Size        : 84835                            License: GPL+
Signature   : RSA/SHA1, Thu 18 Jul 2013 06:17:17 PM CST, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : https://fedorahosted.org/logrotate/
Summary     : Rotates, compresses, removes and mails system log files
Description :
The logrotate utility is designed to simplify the administration of
log files on a system which generates a lot of log files.  Logrotate
allows for the automatic rotation compression, removal and mailing of
log files.  Logrotate can be set to handle a log file daily, weekly,
monthly or when the log file gets to a certain size.  Normally,
logrotate runs as a daily cron job.

Install the logrotate package if you need a utility to deal with the
log files on your system.


logrotate设计用于简化日志文件管理任务。它可以实现自动轮转,压缩,删除日志文件.每个日志文件可以按天,按周或是按月进行管理或者当日志文件增长到一定大小进行管理。

通常情况下,logrotate以每日定时任务的方式运行。它不会再一天之内多次修改日志文件,除非针对这个日志文件设置的logrotate规则是按照日志文件的大小或是增加了-f参数强制日志轮转。


$ cat /etc/cron.daily/logrotate 
#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

相关参数使用:

-d --debug  开启调试模式

-v --verbose 详细输出

-f --force  强制轮转日志文件。可以用于调试新的配置文件

-m --mail <command> 发送邮件时使用什么命令,默认使用/bin/mail -s

-s --state 使用state file


配置文件案例

       # sample logrotate configuration file
       compress

       /var/log/messages {
           rotate 5
           weekly
           postrotate
               /usr/bin/killall -HUP syslogd
           endscript
       }

       "/var/log/httpd/access.log" /var/log/httpd/error.log {
           rotate 5
           mail www@my.org
           size 100k
           sharedscripts
           postrotate
               /usr/bin/killall -HUP httpd
           endscript
       }

       /var/log/news/* {
           monthly
           rotate 2
           olddir /var/log/news/old
           missingok
           postrotate
               kill -HUP ‘cat /var/run/inn.pid‘
           endscript
           nocompress
       }


compress  旧版本的日志文件默认使用gzip压缩

cpmpresscmd  指定使用什么命令来压缩

uncompresscmd 指定使用什么命令来解压缩文件,默认是gunzip

compressext  指定压缩的文件的后缀名称

compressoptions  指定压缩程序的参数。默认使用gzip -9

copy       复制一份日志文件,原有文件保持不变

copytruncate    复制一份日志文件后截断原有日志文件

create mode owner group, create owner group

          

daily      日志文件每天轮转一次

dateext     使用日期作为轮转后的日志文件的后缀。

dateformat   指定日期格式。只有%Y,%m,%d和%s可以使用。默认是%Y%m%d

delaycompress  推迟压缩

extension    

ifempty     即使是空文件也轮转

include     包含文件或者目录

mail       发送邮件

mailfirst    发送刚刚被压缩的文件

maillast     mail the about-to-expire 文件

maxage     删除几天之前的轮转文件

minsize  size   当日志文件大于size设置的大小时,将日志文件进行轮转。

missingok   如果当一个日志文件消失时,继续轮转下一个日志文件

monthly    通常在一个月的头一天轮转日志文件

nocompress 旧版本的日志文件不压缩

nocopy   不复制原始日志文件

nocopytruncate       不截断原始日志文件

nocreate           不创建新的文件

nodelaycompress

nodateext

nomail

noolddir     轮转的日志文件和原始日志文件放置在同一个目录下

nosharedscripts      






本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1626398

Logrotate使用

标签:logrotatein

原文地址:http://john88wang.blog.51cto.com/2165294/1626398

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!