• nginx按日分割日志


    #!/bin/bash
    #按日切割nginx日志并压缩,加入crontab每天0:00切割
    #作者:fafu_li
    #时间:2015.08.15
    
    source /etc/profile        #加载系统环境变量
    source ~/.bash_profile    #加载用户环境变量
    set -o nounset             #引用未初始化变量时退出
    set -o errexit            #执行shell命令遇到错误时退出
    
    PID="/usr/local/nginx/logs/nginx.pid"    #pid目录
    NGINX="/usr/local/nginx/sbin/nginx"
    YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)    #昨天日期
    LOGS_PATH="/data/nginx/logs"    #日志目录
    server_names=("access_chaoneng")    #日志名
    server_count=${#server_names[@]}
    
    #分割日志
    cut_logs(){
            local name=$1
            cd $LOGS_PATH
            /bin/mv -f ${name}.log  ${name}.${YESTERDAY}.log
            #向nginx主进程发送 USR1 信号,USR1 信号是重新打开日志文件
            #不然nginx主进程写入的还是移动后的日志文件
            #三种方式,根据需求使用任意一种
            #service nginx reload
            #kill -USR1 $(cat $PID)
            $NGINX -s reload
            tar zcf ${name}.${YESTERDAY}.log.gz ${name}.${YESTERDAY}.log
            rm -rf ${name}.${YESTERDAY}.log
    }
    
    #循环分割日志
    for (( i = 0; i < $server_count; i++ )); do
            cut_logs ${server_names[$i]}
    done
  • 相关阅读:
    linux内核——进程切换宏switch_to
    android源码目录结构详解
    SRM 390(1-250pt)
    SRM 391(1-250pt)
    CodeForces 221(div 2)
    SRM 407(1-250pt, 1-500pt)
    SRM 392(1-250pt)
    SRM 393(1-250pt)
    CodeForces 220(div 2)
    SRM 406(1-250pt, 1-500pt)
  • 原文地址:https://www.cnblogs.com/leffss/p/7832123.html
Copyright © 2020-2023  润新知