用"logrotate"来管理linux日志文件,它可以实现日志的自动滚动,日志归档等功能。下面以nginx日志文件来讲解下logrotate的用法。

################################################################################
/var/log/nginx/*.log {
        daily
        missingok
        rotate 30
        compress
        notifempty
        create 640 www www
        sharedscripts
        postrotate
                [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
        endscript
}

 

注释:
/var/log/nginx/*.log:需要轮询日志路径
daily:每天轮询
rotate 30:保留最多30次滚动的日志
missingok:如果日志丢失,不报错继续滚动下一个日志
notifempty:当日志为空时不进行滚动
compress:旧日志默认用gzip压缩
/var/run/nginx.pid:nginx主进程pid