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 "\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的更多相关文章
- linux shell:nginx日志切割脚本
需求原因:nginx不具备日志切割功能,日志量较大,方便分析. 实现目的:完成nginx日志切割,并根据时间命名 简要命令: mv /usr/local/tengine/logs/access.l ...
- nginx日志切割脚本
#!/bin/bash ip=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d ...
- nginx 日志切割脚本
#!/bin/shLOG_PATH=/home/test/nginx/logsNEW_LOG_PATH=/home/test/nginx/dayslogNGING_PID=$(cat /home/te ...
- tomcat日志切割脚本shell
tomcat-rotate.sh: #!/bin/bash log_path="/home/tomcat7-api/logs/"expried_time=7 function de ...
- Nginx Java 日志切割脚本
Nginx日志切割脚本: #!/bin/bash ########################################################################### ...
- nginx日志切割并使用flume-ng收集日志
nginx的日志文件没有rotate功能.如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件.第一步就是重命名日志文件,不用担心重命名后nginx找不到日 ...
- Linux centosVMware Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间
一.Nginx访问日志 vim /usr/local/nginx/conf/nginx.conf //搜索log_format 日至格式 改为davery格式 $remote_addr 客户端IP ...
- nginx日志、nginx日志切割、静态文件不记录日志和过期时间
2019独角兽企业重金招聘Python工程师标准>>> 12.10 Nginx访问日志 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索l ...
- nginx学习笔记(四)-----日志切割脚本及定时任务
一.日志切割脚本 #!/bin/sh #nginx目录 BASE_DIR=/usr/local/nginx #生成的日志 BASE_FILE_NAME=jonychen.access.log CURR ...
随机推荐
- CF1090J Two Prefixes
神仙题++ 还是在某校梁大讲的题qaq 我们考虑容斥 也就是本质不同字串=全部-重复的 我们只需要求重复的即可 考虑相同的s=ab 我们用长度最长的a作为代表串 如果存在一个a'b'且|a'|> ...
- 配置 Kibana
Products Cloud Services Customers Learn downloads EN Docs Kibana 用户手册 » 搭建 » 配置 Kibana « 在 Windows ...
- 为啥HashMap的默认容量是16
集合是Java开发日常开发中经常会使用到的,而作为一种典型的K-V结构的数据结构,HashMap对于Java开发者一定不陌生. 在日常开发中,我们经常会像如下方式以下创建一个HashMap: Map& ...
- JLRoutes笔记
1.在info.plist中添加 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBun ...
- MySQL基础篇——安装、管理
MySQL 安装 所有平台的 MySQL 下载地址为https://dev.mysql.com/downloads/mysql/ .挑选你需要的 MySQL Community Server 版本及对 ...
- 【HDOJ6635】Nonsense Time(时间倒流,lis)
题意:给定n个数的数列,第i个数为a[i],刚开始所有位置都处于禁用状态,第i次之后位置p[i]变为可用,求每次变化后的lis长度 n,a[i],p[i]<=5e4 保证a[i],p[i]均为随 ...
- MySql使用mysqldump 导入与导出方法总结
导出数据库数据:首先打开cmd进入MySQL的bin文件夹下 1.导出education数据库里面的users表的表数据和表结构(下面以users表为例) mysqldump -u[用户名] -h[i ...
- Linux学习篇(一)-初识Linux
开源许可协议 简单了解开源许可协议,一张图读懂. linux 系统特点 linux 特点安全性高.高可用.高性能 稳定且有效率 免费或少许免费 漏洞少且快速修补 多任务多用户 更加安全的用户及文件权限 ...
- 使用python执行sql语句和外键解析
一.下载并导入pymysql pip install pymysql && import pymysql db=pymysql.connect(host=) #如果报错host大概率因 ...
- PTA 1121 Damn Single
题目链接:1121 Damn Single (25 分) "Damn Single (单身狗)" is the Chinese nickname for someone who i ...