zoukankan      html  css  js  c++  java
  • nginx日志自动切割

    1.日志配置

    Nginx 日志分

    access.log 记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;

    error.log 记录服务器错误的日志

    配置日志存储路径

      location / {

                     access_log          /usr/local/nginx/logs/access.log;

                     error_log           /usr/local/nginx/logs/error.log;

       }

    按自己要求配置日志格式

    http {

        include       mime.types;

        default_type  application/octet-stream;

        sendfile        on;

        keepalive_timeout  60;

        include  /usr/local/nginx/vhost/*.conf;

        log_format main '$remote_addr -$remote_user [$time_local] "request"'

                        '$status $body_bytes_sent "$http_referer"'

                        '"$http_user_agent" "$http_x_forwarded_for"'

                        '"$gzip_ratio" $request_time $request_length' ;

        open_log_file_cache max=1000 inactive=60s;

    }

    操作完上面的,日志就按自己的要求格式存储在指定位置

    2.日志切割(按天进行日志切割)

    A.编写脚本

    #!/bin/bash
    year=`date +%Y`
    month=`date +%m`
    day=`date +%d`
    logs_backup_path="/usr/local/nginx/logs_backup/$year$month"               #日志存储路径

    logs_path="/usr/local/nginx/logs/"                                                             #要切割的日志路径
    logs_access="access"                                                                            #要切割的日志
    logs_error="error"
    pid_path="/usr/local/nginx/logs/nginx.pid"                                                 #nginx的pid

    [ -d $logs_backup_path ]||mkdir -p $logs_backup_path
    rq=`date +%Y%m%d`
    #mv ${logs_path}${logs_access}.log ${logs_backup_path}/${logs_access}_${rq}.log
    mv ${logs_path}${logs_error}.log ${logs_backup_path}/${logs_error}_${rq}.log
    kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

    3.做定时任务

    crontab –e

    59 23 * * * bash /usr/local/nginx/shell/cut_ngnix_log.sh   #每天23:59分开始执行;

  • 相关阅读:
    [转]史上最最佳软件开发实践指导
    附微信表情代码关键字
    TFS2010配置篇 — 万事具备只欠外网访问
    ASP.NET在IE10中Form表单身份验证失效问题解决方法
    TFS2010 更改已经登录的用户
    TFS命令tf:undo 强制签入别人签出的文件
    ASP.NET Core部署后报错: Could not load file or assembly 'System.Private.ServiceModel, Version=4.1.2.4, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
    SQL 增删改查语句
    存储过程拼接sql
    sql 求时间差
  • 原文地址:https://www.cnblogs.com/free-long/p/8005082.html
Copyright © 2011-2022 走看看