zoukankan      html  css  js  c++  java
  • nginx日志切割脚本shell

    nginx-log-rotate.sh

    #!/bin/bash
    #---------------------------------------------
    # Comment:Used for rotating nginx log file.
    # Author: alin
    # Date: 09/27/2018
    # Version: 1.0
    #---------------------------------------------

    LOG_FILE="*.log"
    LOG_DIR=/data/log/nginx
    LOG_SIZE=100
    CURR_TIME=$(date +%Y%m%d%H%M)

    for log in `ls $LOG_DIR/$LOG_FILE`
    do
    total_size=`stat -c %s $log`
    size=$(($total_size/1024/1024))
    if [ $size -gt $LOG_SIZE ]; then
    ############# copy
    back_file_name="$log-$CURR_TIME"
    cd $LOG_DIR
    /usr/bin/cp $log $back_file_name
    echo "" > $log
    ############# zip
    if [[ $log =~ "8bet" ]]
    then
    log_file_dir=`ls $log | awk -F"/" '{print $5}' | awk -F"." '{print $1"."$2}'`
    else
    log_file_dir=`ls $log | awk -F"/" '{print $5}' | awk -F"." '{print $1}'`
    fi
    cd $log_file_dir
    rename=`ls $back_file_name| awk -F"/" '{print $5}'`
    zip -9q $rename".zip" $back_file_name
    ############# rm
    find ./ -mtime +10 -name "*.zip" -exec rm -f {} ;
    cd $LOG_DIR
    rm -f $back_file_name
    else
    echo -e "33[32m[$log is less than 100M!]33[0m"
    fi
    done

    echo -e "33[42mNginx-dir-logfile had been rolled successful!......33[0m"

    nginx-rotate.sh

    #!/bin/bash

    # nginx log partition per size

    LOG_FILE=game-admin.log
    LOG_SIZE=100
    LOG_DIR=/log/nginx
    EXPIRE_DAY=7
    CURR_TIME=$(date +%Y%m%d%H%M)

    total_size=`stat -c %s $LOG_DIR/$LOG_FILE`
    size=$(($total_size/1024/1024))

    if [ $size -lt $LOG_SIZE ]; then
    exit 0
    fi

    # copy log file
    cd $LOG_DIR
    back_file_name="$LOG_FILE-$CURR_TIME"
    cp $LOG_FILE $back_file_name
    echo "" > $LOG_DIR/$LOG_FILE

    # zip
    zip -9q "${back_file_name}.zip" ${back_file_name}
    rm -f ${back_file_name}

    echo "Nginx log rolling success! file: ${back_file_name}.zip"

  • 相关阅读:
    devel包
    Tomcat性能调优
    详述Oracle RAC的五大优势及其劣势
    Oracle实例内存(SGA和PGA)调整
    ubuntu upstart启动流程分析
    Python爬虫示例
    Tcp连接的七次握手浅析
    Apache的prefork模式和worker模式
    减少mysql主从数据同步延迟
    Ubuntu14.04 64bit安装Android-Studio
  • 原文地址:https://www.cnblogs.com/immense/p/11402869.html
Copyright © 2011-2022 走看看