详细介绍 http://blog.csdn.net/hepeng597/article/details/7768615  

参考 http://www.linuxidc.com/Linux/2011-04/34116.htm

1  比如 我们要切割nginx的日志,首先我们进入/etc/logrotate.d/这个目录下,然后建立nginx这个文件

vi  nginx

/data/wwwlogs/*nginx.log {       ##日志所在的目录
daily
rotate 5
missingok
dateext
compress
notifempty
sharedscripts
postrotate
    [ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}


参数说明:

monthly 指定转储周期为每月

daily 指定转储周期为每天

weekly 指定转储周期为每周

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

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

copytruncate  在复制当前日志文件后,将日志文件清空;而不是将当前日志文件改名后创建一个新的

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

dateext  切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期.

  [ -e /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
这个参数是为了让nginx重新生成日志的

2.重启syslogd服务


service rsyslog restart



3 测试 

#强制执行某个日志的切换,nginx是在/etc/logrotate.d下文件的文件名

logrotate -f /etc/logrotate.d/nginx

#如果在存放日志的目录下发现了切换的日志文件,则说明切换成功