美文网首页大数据
使用logrotate做nginx日志分割

使用logrotate做nginx日志分割

作者: bigdataer | 来源:发表于2017-03-13 15:58 被阅读30次

    版权申明:转载请注明出处。
    文章来源:http://bigdataer.net/?p=266

    背景

    nginx是一款非常优秀的网络代理工具,但是其日志管理有点缺憾:nginx的access_log会无限的增长。我们希望的是它能按照日期去做日志分割。一般有两种方法,自己写脚本实现,一种是使用现成的logrotate工具。本文讲解第二种方法。

    过程

    使用logrotate做nginx日志轮询
    logrotate看名字就知道是专门做日志轮询的,只把任务配置放在/etc/logrotate.d/下,任务就会自动完成,而且无需安装,系统自带,比较推荐使用.
    vi /etc/logrotate.d/nginx

        /usr/local/nginx/logs/bigdataer/*log /usr/local/nginx/logs/nginx_error.log {
        notifempty
        daily
        sharedscripts
        postrotate
        /bin/kill -USR1 `/bin/cat /usr/local/nginx/nginx.pid`
        endscript
        } 
    

    多个日志以空格分开,
    notifempty 如果日志为空则不做轮询
    daily 每天执行一次
    postrotate 日志轮询后执行的脚本
    这样,每天都会自动轮询

    相关文章

      网友评论

        本文标题:使用logrotate做nginx日志分割

        本文链接:https://www.haomeiwen.com/subject/eexqnttx.html