zoukankan      html  css  js  c++  java
  • nginx日志切割总结

    Nginx日志切割

     

    方法1(脚本+定时执行):

    #step1:加脚本 cut_nginx_log.sh,主进程把USR1信号发给worker,worker接到这个信号后,会重新打开日志文件

    #!/bin/bash

    logs_path="/usr/local/nginx-1.6.0/logs"

    log_name="access.log"

    pid_path="/usr/local/nginx-1.6.0/logs/nginx.pid"

    mv ${logs_path}/${log_name} ${logs_path}/"access-"$(date --date="LAST DAY" "+%Y-%m-%d").log

    kill -USR1 `cat ${pid_path}`

    #find ${logs_path} -name "*.log" -mtime +30 -delete

    #step2:crontab 定时跑脚本,每天0点0分执行脚本

    crontab -e

    0 0 * * * /usr/local/nginx-1.6.0/logs/cut_nginx_log.sh


    方法2(使用logrotate):

    vi /etc/logrotate.d/nginx

    /usr/local/nginx/logs/www.willko.cn.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 日志轮询后执行的脚本

    这样,每天都会自动轮询,生成nginx.log.1-n


    方法3(conolog):没试过


    方法4(修改配置文件):

    在server{}里加上:

    if ($time_iso8601 ~ "^(d{4})-(d{2})-(d{2})T(d{2}):(d{2}):(d{2})")

    {

    set $ng_year $1;

    set $ng_month $2;

    set $ng_day $3;

    set $ng_hour $4;

    set $ng_minutes $5;

    set $ng_seconds $6;

    }

    access_log  logs/$ng_year-$ng_month-$ng_day-$ng_hour-host.access.log;

    *注意这个要有pcre库,不然if处会报错


    Q&A:

    1、nginx日志实现自动分割了吗?
    实际上没有,但是用apt/yum安装nginx时会自动配置logrotate。

    logrotate作为一个/etc/cron.daily/logrotate任务每日定时执行。

    你往/etc/logrotate.d/下添加配置文件logrotate执行时会自动根据配置文件进行日志归档。

    如apt-get安装的Nginx官方源的日志归档配置文件为 /etc/logrotate.d/nginx。

    参考:

    http://www.iyunv.com/thread-110386-1-1.html

    https://www.oschina.net/question/258792_173849

  • 相关阅读:
    堆排序实现
    Unable to convert MySQL date/time value to System.DateTime
    想想那些除了技术之外重要的事情
    js小功能
    01输入框回车触发操作
    javascript闭包
    BQ27510 电量计的校准 的 C语言实现
    嵌入式Linux开发教程:Linux常见命令(上篇)
    技术团队的情绪与效率
    如何有效使用Project(2)——进度计划的执行与监控
  • 原文地址:https://www.cnblogs.com/GO-NO-1/p/6500572.html
Copyright © 2011-2022 走看看