nginx日志切割

默北 Nginx1133,09211字数 622阅读2分4秒阅读模式

nginx日志默认情况下统统写入到一个文件中,文件会变的越来越大,非常不方便查看分析。以日期来作为日志的切割是比较好的,通常我们是以每日来做统计的。下面来说说nginx日志切割。
关于nginx相关日志配置参见:《nginx日志配置》一文。logrotate用法参见《logrotate日志管理工具》。

1. 定义日志轮滚策略

# vim nginx-log-rotate文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-log-cutting/

/data/weblogs/*.log {
    nocompress
    daily
    copytruncate
    create
    notifempty
    rotate 7
    olddir /data/weblogs/old_log
    missingok
    dateext
    postrotate
        /bin/kill -HUP `cat /var/run/nginx.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

[warning]/data/weblogs/*.log使用通配符时,/data/weblogs/目录下的所有匹配到的日志文件都将切割。如果要切割特定日志文件,就指定到该文件。[/warning]文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-log-cutting/

2. 设置计划任务

# vim /etc/crontab文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-log-cutting/

59 23 * * * root ( /usr/sbin/logrotate -f /PATH/TO/nginx-log-rotate)

这样每天23点59分钟执行日志切割。文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-log-cutting/

如需转载请注明出处: https://www.ttlsa.com/html/3166.html文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-log-cutting/ 文章源自运维生存时间-https://www.ttlsa.com/nginx/nginx-log-cutting/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 26/09/2013 03:00:20
  • 转载请务必保留本文链接:https://www.ttlsa.com/nginx/nginx-log-cutting/
  • logrotate
  • nginx
  • nginx日志切割
评论  11  访客  9
    • 匿名
      匿名 9

      官方推荐的是 logrotate。然后USR1,不要用HUP

      • 番号姐115
        番号姐115 2

        vps 系统貌似会自动切割nginx 日志文件,按天保存 自动的

          • TTLSA
            TTLSA 9

            @ 番号姐115 说明你的nginx已经是配置好的。

              • 番号姐115
                番号姐115 2

                @ TTLSA yum 方式安装后,我没有做任何修改,第二天我查看日志的时候,已经按天自动打包了。

            • TSA
              TSA 9

              匿名 :
              是不是用kill -USR1 更好点 切割日志

              @匿名
              对的
              USR1等待子进程退出,然后重载配置
              HUP直接杀死子进程,然后重载配置

              • 匿名
                匿名 9

                匿名 :
                是不是用kill -USR1 更好点 切割日志

                @匿名
                对的,USR1会等待子进程处理完请求之后,退出子进程,然后重载新的配置文件,并且生成子进程。
                而HUP则是直接杀死子进程,然后重载配置文件,最后生成子进程。

                • 匿名
                  匿名 9

                  是不是用kill -USR1 更好点 切割日志

                  • 独占默默
                    独占默默 2

                    哈哈,不许要写定时任务计划,只要把脚本直接扔在/etc/logrotate.d/目录下面就行啦。。

                      • 默北
                        默北

                        @ 独占默默 要23点59分钟执行日志切割。默认的cron任务没有这个点执行的

                    评论已关闭!