利用logrotate按期生成日志,而且按期删除,适用于系统上面全部的日志

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

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

1  好比 咱们要切割nginx的日志,首先咱们进入/etc/logrotate.d/这个目录下,而后创建nginx这个文件ide

vi  nginxpost

/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 指定转储周期为每个月spa

daily 指定转储周期为天天.net

weekly 指定转储周期为每周rest

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

compress 经过gzip 压缩转储之后的日志orm

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

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

相关文章
相关标签/搜索