rotate5
mail--旧日志文件发送到指定电邮地址
size100k--rotate规则为超过100K
sharedscripts--所有日志处理完才执行前面的脚本而不是处理一个文件执行一次
postrotate
/sbin/killall-HUPhttpd
endscript
}
/var/log/news/*{--指定某个文件夹下的所有文件(包含早已rotate过的),只要有一个处理报错就不会对日志进行压缩
monthly
rotate2
olddir/var/log/news/old--有利于降低重复rotate
missingok--忽视不存在的日志
postrotate
kill-HUP‘cat/var/run/inn.pid‘
endscript
nocompress
}
以下是可用option的详尽说明(后面打*号的一般应当都不会用到):
常规参数:
includefile_directory:引用对应的配置文件或则对应目录下的常规文件(最好指定明晰的文件,除非该路径下全部都是logrotate的配置文件),文件读取次序为alphabetic.注意:不能在某个日志的处理定义上面指定include.
mailaddress:发送短信的寄件人,假若不想发送短信可以用nomail的参数;
nomail:不发送短信;
maillast/mailfirst:mailfirst表示发送早已rotate的文件,须要与mail参数配合;maillast(默认值)发送上次会rotate的日志;
压缩相关参数:
compress/nocompress:compress表示被归档的日志文件默认会通过gzip进行压缩,nocompress表示不压缩(默认);
nodelaycompress/delaycompress:须要结合compress使用,delaycompress上次rotate才compress本次rotate的日志(便捷查历史),no开头覆盖此参数;
*extensionext:指定后缀名
*compresscmd:指定压缩的命令linux空间,默认是gzip;
*uncompresscmd:指定解压缩的命令,默认是gunzip;
*compressext:指定压缩之后的日志文件的后缀名;
*compressoptions:指定压缩程序的参数,默认为gzip指定的参数是"-9"(最大压缩);
备份频度相关:
rotatecount:归档的最大次数(超过该次数会被覆盖)分割文件 linux,假如设置为0则表示不归档;
daily:先前归档不是明天时备份一次;
weekly:Logfilesarerotatedifthecurrentweekdayislessthantheweekdayofthelastrotationorifmorethanaweekhaspassedsincethelastrotation;
yearly:假如当日的年份与先前rotate的年份不一样;
monthly:每位月第一次运行logrotate的时侯归档;
minsizesize:可以与时间周期的归档结合上去linux内核,假如达到天数的归档周期还没有到最小大小也不会归档;
sizesize:达到指定size的日志会被rotate(单位可以是K/M等);
startcount:假如用数字认筹则表示直接从count开始排而不是0;
*maxagecount:删掉早已超过count天的归档,倘若须要rotate这个归档则只是检测;
特别处理方法:
ifempty/notifempty:ifempty是默认值表示空文件也会被rotate,可以通过notifempty更改为空文件不归档;
missingok/nomissingok:missingok表示即使日志不存在也不会报错,
olddir/noolddir:olddir表示将归档的日志放在对应的目录(必须在同一个化学设备)下,绝对路径为明晰的路径,倘若指定相对路径则是日志文件的相对路径,noolddir覆盖olddir参数
sharedscripts/nosharedscripts:主要针对处理多个日志或指定目录的情况下,sharedscripts表示处理子集中所有的日志都处理完成后才执行,假如没有日志被处理则不会执行。nosharedscripts则表示每位日志处理后都执行scripts部份;
备份方法相关:
dateext/nodateext:在备份的日志前面加上备份当日的日期(YYYYMMDD)而不是简单的加一个数字(nodateext覆盖此归档形式);
copy/nocopy:copy指定备份日志的形式为复制(源文件可用作其他目的),因原文件不会被删掉,所以指定create会直接被忽视;nocopy表示不复制
copytruncate/nocopytruncate:复制一个副本后直接truncate原日志,这对于不能用move掉旧的再创建一个新文件的日志(copy与truncate中间可能会遗失一部份日志,实测每秒一笔日志不会遗失),no开头表示copy后不truncate;
nocreate/createmodeownergroup:日志滚动(默认是move)后立刻创建一个新的日志文件(mode指定权限,owner和group分别指定属主属组)分割文件 linux,之后才能执行portrotate,倘若被忽视的一些属性将会和原日志文件一致,nocreate会覆盖此参数;
postrotate/endscript:rotate完成后通过/bin/sh去执行这两个标记中间(必须换行)的命令,处理的日志文件会作为第一个参数传递给每位命令,倘若指定sharedscripts则所有的日志就会传递给脚本;
prerotate/endscript:rotate日志前(确实有日志须要rotate)执行,其他同postrotate;
firstaction/endscript:处理多个日志前执行
lastaction/endscript:处理多个日志全部后执行