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

日志轮替(logrotate)的常用配置参数

时间:2016-12-08 07:46:06      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:logrotate   log   

   最近正好要重新整理日志服务器,刚好需要对系统中的logrotate重新配置,因此就在此简单的写一下logrotate的一些基本配置参数,以便于查阅。

   logrotate的主要的配置参数文件是/etc/logrotate.conf ,而/etc/logrotate.d/目录中的写配置是为了平时管理方便在里面写的,它最后还是会被/etc/logrotate.conf所include,最后由wtmp所执行。所以如果是一些通用的配置都可以写在/etc/logrotate.conf文件中,但是如果平时不建议对默认的/etc/logrotate.conf文件做太大的改动,至于logrotate.conf中的配置语法很简单:

日志文件名的绝地路径(如果是多个用空格隔开) {
    需要配置的参数
}

logrotate功能实现的最重要的就是它的配置参数,这里列出一些常用的参数:

参数
说明
compress启用压缩,指的是轮替后的旧日志,这里默认用的是gzip压缩的
compressoptions以gzip -9的模式压缩
uncompresscmd解压日志,默认是gunzip
daily每天轮替选项
dateext轮替的日志文件会附加上一个短横线和YYYYMMDD格式的时间戳
delaycompress
将以前的日志文件压缩推迟到下一次轮替
ifempty即使日志文件是空的也轮替
mail将轮替后的文件发送到指定E-mail地址
copytruncate
用于还在打开中的日志文件,把当前日志备份并截断,开始轮替
mailfirst/maillast向邮件发送轮替文件/轮替后历史文件(默认)
monthly一个月轮替一次
nocompress如果在logrotate.conf中启用了压缩,这里是做不用压缩的参数
nomail
不发送邮件到任何地址
ifempty如果日志时空的就不轮替
olddir directory轮替后日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
postrotate/endscript
在做完轮替后的命令,两个关键字必须单独成行,使用的操作在2者之间相当于分组“{}”,注意的使用外部指令时要用绝对路径
prerotate/endscript在做轮替前的命令,同上
rotate count轮替最多保留之前的数据几次,超出的将被删除或邮件接收,设为0则不保存
size size当日志增长到指定大小的时候开始轮替,它不会考虑
start count轮替文件名基于这个数字。
例如,指定0时,原日志文件轮替的备份文件以.0为扩展名,如果指定9,就直接从.9开始跳过0-8
然后再继续向后轮替rotate指定的次数。
weekly如果当前的星期几比上次轮替的星期几少,或者过了一个多星期,就会发生轮替通常是在每周的第一天轮替,如果logrotate不是每天运行的,会在第一次有机会时进行轮替。
yearly如果当前年份不同于上次轮替的年份,则进行日志轮替
create mode owner group在轮替动作之后,postrotate脚本执行之前,立即使用刚轮替的日志文件名创建日志文件。
    MODE 指定日志文件的权限(0660之类)
    OWNER 指定日志文件的属主
    GROUP 指定日志文件的属组
extension ext日志文件可在轮替后使用指定的EXT扩展名。如果使用压缩,通常EXT后还会加上压缩文件的扩展名,通常是.gz。例如想把mylog.foo轮转为mylog.1.foo.gz而不是mylog.foo.1.gz

基本logrotate的常用参数就是这一些,如果要知道更多的参数使用方法可以查阅man 8 logrotate。当然,现在很多的软件都有自带的logrotate,如apache的rotatelogs等等,大多都是基于系统中的logrotate来实现日志的轮替,具体使用那一种要根据具体实际场景,不过系统中的logrotate几乎能满足大多数的场景中

本文出自 “技术随笔” 博客,转载请与作者联系!

日志轮替(logrotate)的常用配置参数

标签:logrotate   log   

原文地址:http://jim123.blog.51cto.com/4763600/1880582

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