zoukankan      html  css  js  c++  java
  • 日志文件配置与切割

    日志文件配置与切割

    自定义日志格式

    http

    {

        server

        {

            listen          80 default;

            server_name     _*;

            access_log      logs/default.access.log combined;

            location / {

                index index.html;

                root  /data0/htdocs/htdocs;

            }

        }

    }

    其中的  access_log,就是用来配置日志路径的,

    log_format 指令用于设置日志格式

    如果不需要记录日志

    access_log off;

    combined是默认日志格式,一般不需要指定

    如果需要使用 log_format 自定义的日志格式,如下

    log_format myLogFormat 定义日志格式

    access_log 路径 myLogFormat buffer=32k,其中buffer用来设置缓存

    日志文件的切割

    mv log log2015-01-01

    kill -USR1 Nginx主进程号,让Nginx重新生成一个日志文件

    这里是手动对日志进行的切割,如果想要定时对日志进行切割,需要写一个shell脚本

    思路:写一个shell脚本,然后用crontab设置调用shell脚本的时间

    vi /usr/local/nginx/sbin/cut_nginx_log.sh

    输入

    #!/bin/bash

    # This script run at 00:00

    # The Nginx logs path

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

    mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/

    mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log

    kill -USR1 `cat /usr/local/nginx/nginx.pid`

    crontab -e

    输入  

    00 00 * * * /bin/bash  /usr/local/webserver/nginx/sbin/cut_nginx_log.sh

    每天凌晨0点切割日志

  • 相关阅读:
    python三级菜单
    python购物车
    crontab计划任务
    shell脚本相关关系、浮点、循环
    find及其他命令
    awk命令
    sed命令
    linux正则表达式
    shell脚本编写nginx部署脚本
    shell脚本编写监控内存并发送邮件
  • 原文地址:https://www.cnblogs.com/sherrykid/p/5831560.html
Copyright © 2011-2022 走看看