首页 > 代码库 > logrotate日志轮转

logrotate日志轮转

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

/home/wwwlogs/*.log {

daily #每天备份

missingok

rotate 30 #保留30天

compress #通过gzip压缩

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

create 640 www www

sharedscripts

postrotate

[ -f /usr/local/nginx/logs/nginx.pid ] && kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

endscript

}


本文出自 “运维笔记” 博客,请务必保留此出处http://phospherus.blog.51cto.com/7824598/1917184

logrotate日志轮转