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 "\033[32m[$log is less than 100M!]\033[0m"
fi
done

echo -e "\033[42mNginx-dir-logfile had been rolled successful!......\033[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"

nginx日志切割脚本shell的更多相关文章

  1. linux shell:nginx日志切割脚本

    需求原因:nginx不具备日志切割功能,日志量较大,方便分析. 实现目的:完成nginx日志切割,并根据时间命名   简要命令: mv /usr/local/tengine/logs/access.l ...

  2. nginx日志切割脚本

    #!/bin/bash ip=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d ...

  3. nginx 日志切割脚本

    #!/bin/shLOG_PATH=/home/test/nginx/logsNEW_LOG_PATH=/home/test/nginx/dayslogNGING_PID=$(cat /home/te ...

  4. tomcat日志切割脚本shell

    tomcat-rotate.sh: #!/bin/bash log_path="/home/tomcat7-api/logs/"expried_time=7 function de ...

  5. Nginx Java 日志切割脚本

    Nginx日志切割脚本: #!/bin/bash ########################################################################### ...

  6. nginx日志切割并使用flume-ng收集日志

    nginx的日志文件没有rotate功能.如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件.第一步就是重命名日志文件,不用担心重命名后nginx找不到日 ...

  7. Linux centosVMware Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间

    一.Nginx访问日志 vim /usr/local/nginx/conf/nginx.conf //搜索log_format  日至格式 改为davery格式 $remote_addr  客户端IP ...

  8. nginx日志、nginx日志切割、静态文件不记录日志和过期时间

    2019独角兽企业重金招聘Python工程师标准>>> 12.10 Nginx访问日志 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索l ...

  9. nginx学习笔记(四)-----日志切割脚本及定时任务

    一.日志切割脚本 #!/bin/sh #nginx目录 BASE_DIR=/usr/local/nginx #生成的日志 BASE_FILE_NAME=jonychen.access.log CURR ...

随机推荐

  1. jmeter性能工具 之监控cpu,内存等信息(四)

    1.jmeter 本身不支持直接监控 cpu,内存等信息,需要去官网下载控件 JMeterPlugins-Standard-1.4.0.zip    解压好将其中\lib\ext\JMeterPlug ...

  2. 11:如何解决Maven的Jar版本冲突问题

    右键 Exclude,排除冲突包

  3. 【CF1243A】Maximum Square【贪心】

    题意:给你n个长度为ai的木板,求最大能拼成的矩形为多大 题解:显然贪心每次选最大的进去拼,那么剧需要枚举矩形长度x,看最长的k个能够拼出长度为x的矩形即可 #include<iostream& ...

  4. java单双引号转义问题

    JavaScript代码:var str = '<a href="javascript:;" onclick="visaDetail(\'1\',' + value ...

  5. [java] [error] java.lang.OutOfMemoryError: unable to create new native thread

    前言 最近公司的服务器出现了oom的报错,经过一番排查,终于找到了原因.写下这篇博客是为了记录下查找的过程,也是为了帮助那些跟我门遇到的情况相同的人可以更快的寻找到答案. 环境 系统:linux(ce ...

  6. ORA-00020: maximum number of processes (800) exceeded

    [oracle@db04-1 ~]$ sqlplus -prelim / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on 星期四 8月 31 ...

  7. chrome 手机端滑动列表的时候控制台会出现很多提示的解决办法

    问题: Unable to preventDefault inside passive event listener 可以加入touch-action 属性,具体参照MDN, https://deve ...

  8. python内置装饰器

    前言 接着上一篇笔记,我们来看看内置装饰器property.staticmethod.classmethod 一.property装饰器 1. 普通方式修改属性值 code class Celsius ...

  9. Ubuntu查看端口使用情况,使用netstat命令:

    https://www.cnblogs.com/fly-book/p/9827128.html

  10. pojPseudoprime numbers (快速幂)

    Description Fermat's theorem states that for any prime number p and for any integer a > 1, ap = a ...