Nginx日志分割压缩

Administrator 0 2023-06-29

Nginx日志分割压缩

1、Nginx日志按天分包压缩 ++文件较大的时候耗CPU性能低++

#!/bin/bash
#安装目录下日志文件
mvpstore_log_path='/var/log/nginx/proxy/mvpstore_proxy.log'
 
#需要保存的目录位置
log_path='/var/log/nginx/proxy'
 
#获取月份
log_month=$(date -d yesterday +"%Y%m")
 
#获取前一天日期 (第二天凌晨备份,即保存的日志就是当天时间的日志)
log_day=$(date -d yesterday +"%d")
 
#在指定位置创建文件夹
mkdir -p $log_path/$log_month
 
#将安装目录下的日志文件,移动到指定存储位置
tar -zcf - $mvpstore_log_path| split -b 500m -d - mvpstore_proxy_$log_day.tar.gz
mv /data/mvpstore_proxy_$log_day.tar.gz* $log_path/$log_month/
rm -rf $mvpstore_log_path

#USR1 表示nginx信号控制,切割日志
kill -USR1 `cat /run/nginx.pid`

2、简易版按天分割压缩 ++文件较大的时候耗CPU性能高++

#!/bin/bash
#安装目录下日志文件
test_path='/var/log/nginx/proxy/test.log'

#需要保存的目录位置
log_path='/var/log/nginx/proxy'
 
#获取月份
log_month=$(date -d yesterday +"%Y%m")
 
#获取前一天日期 (第二天凌晨备份,即保存的日志就是当天时间的日志)
log_day=$(date -d yesterday +"%d")
 
#在指定位置创建文件夹
mkdir -p $log_path/$log_month
 
#将安装目录下的日志文件,移动到指定存储位置
mv $test_path $log_path/$log_month/
cd $log_path/$log_month && tar -zcf test_$log_day.tar.gz test.log
rm -rf $log_path/$log_month/test.log
 
#USR1 表示nginx信号控制,切割日志
kill -USR1 `cat /run/nginx.pid`