nginx实现自动切割日志文件shell脚本

本文分享了一段用于自动分割Nginx日志的Shell脚本,通过设定日志大小阈值,当达到该阈值时,脚本将旧日志重命名并创建新的空日志文件,同时触发Nginx重新打开日志文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在工作中可能会需要对nginx的日志实现自动分割,自己写了一个函数,大家如果觉得可以的话:
可以直接复制保存修改一下nginxPATH和 /opt/nginx/sbin/nginx -s reopen这两个地方 地址。然后直接使用。

#!/bin/bash
#参数解释:$1  切割日志的大小,数字类型,单位为:m。 
#参数解释:$2 切割日志的文件名称:access正确日志 error错误日志,可自定议为自己的日志文件名称。
function nginxLogReopen(){
        nginxPATH='/opt/nginx/logs';
        nginxPathNew=`date +%Y%m%d%H%M%S`;
        #获取nginx日志文件大小
        nginxLogCount=`wc -c $nginxPATH/$2.log  | awk '{print $1}'`
        #计算最大的值
        nginxMaxCount=$(($1*1024))
        if [ $nginxLogCount -gt $nginxMaxCount ];then
                mv $nginxPATH"/"$2".log"  $nginxPATH"/$2"$nginxPathNew".log";
                touch $nginxPATH"/"$2".log"
                /opt/nginx/sbin/nginx -s reopen
        fi
}
nginxLogReopen 2 'error'

后期将完善更多的shell脚本,希望大家喜欢。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值