nginx 日志分割脚本

#!/bin/bash
# 01 00 * * * /nginxlogs/ngx_logcut.sh  >/dev/null 2>&1   ##可以放到计划任务里自动执行脚本

pidfile=/var/run/nginx.pid      #nginx进程pid文件

logpath='/nginxlogs/'            #日志目录

keepdays=30                       #日志保存天数

logfiles=(error.log access.log ) #以数组形式列出日志名称

cd $logpath     #进入到日志目录

for logfile in ${logfiles[@]}; do     #以数组的形式去匹配
    if [ ! -e $logfile ];    
    then
        continue     
    fi
    find . -type f -name $logfile"20*" -mtime +$keepdays -exec rm {} \;  #find找到符合条件的日志并删除
    mv $logfile $logfile$(date -d "yesterday" +"%Y%m%d")  #把昨日日志改成日志名+日期的格式
done


kill -USR1 `cat $pidfile` ##USR1通常被用来告知应用程序重载配置文件;例如,nginx服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值