logrotate轮转

减小日志大小,降低分析难度

丢弃过期日志节省空间

结合cron每天执行

软件包

logrotate

配置文件

/etc/logrotate.conf

/etc/logrotate.d

主配置文件及参数

/etc/logrotate.conf 配置文件格式

weekly     轮转频率,默认每周

rotate 4    保留4个轮转备份

create      执行轮转后创建新文件

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

nocompress不需要压缩时,用这个参数

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

nocopytruncate备份日志文件但不截断

create mode owner group转储文件,使用指定的文件模式创建新的日志文件

no create不建立新的日志

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

nodelaycompress 覆盖 delaycompress选项,转储同时

err address转储时的错误信息发送指定email

Ifempty即使是空文件也转储

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

mail address将转储日志文件发送到指定email地址

nomail转储时不发送日志文件

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

noolddir转储后的日志文件和当前日志文件放在同一目录下

  prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行

  postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

  daily 指定转储周期为每天

  weekly 指定转储周期为每周

  monthly 指定转储周期为每月

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

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

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


Include  /etc/logrotate.d           包含此目录下的配置

/var/log/wtmp {          启用轮转日志

Monthly          每月轮转一次

Minsize  1M      日志达到1MB才开始轮转

Create  0664  root  utmp   建新文件并设权限

Rotate  1                  只保留一个备份

/etc/logrotate.d/***       //非系统服务产生日志,在目录下添加配置文件进行轮转

文件格式:

/var/log/admin.log {

Daily

Size=10k

Rotate=5

Compress

Sharedscripts            //脚本开始   重启服务

Postrotate

/usr/bin/killall –HUP  syslogd

Endscript              //脚本结束

}

logrotate         手工执行轮转

-v         自动轮转,如果条件没有满足不轮转

-f          强制rotate

事例

[root@web logrotate.d]# cat web

/www/logs/*.log {

        daily

        missingok

        rotate 5

        compress

copytruncate

        notifempty

dateext

}