码迷,mamicode.com
首页 > 系统相关 > 详细

Linux Nginx日志切割脚本

时间:2021-06-23 17:02:55      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:pen   class   usr   目录   版本   lan   bsp   日期格   切割   

Linux Nginx日志切割脚本

版本
操作系统版本IP版本
Centos 172.21.3.220 7.x
 

Nginx日志切割脚本

#!/bin/bash

#设置日志文件存放目录
logs_dir="/usr/local/nginx/logs"

store_dir="/data/backup/nginx/logs"

# 设置nginx reload命令,reload才会释放文件句柄,不然就会一直写到mv之后的日志文件
nginx_reopen="/usr/local/nginx/sbin/nginx -s reopen "

# 设置日期格式
date_format=$(date -d "-1 hours" +%Y_%m_%d_%H)
year_format=$(echo $date_format | awk -F ‘_‘ ‘{print $1}‘)
month_format=$(echo $date_format | awk -F ‘_‘ ‘{print $2}‘)
day_format=$(echo $date_format | awk -F ‘_‘ ‘{print $3}‘)
hour_format=$(echo $date_format | awk -F ‘_‘ ‘{print $4}‘)

dist_dir=${store_dir}/${year_format}/${month_format}/${day_format}
mkdir -p ${dist_dir}
for i in $(ls ${logs_dir}/*.log); do
    dist_file=${dist_dir}/$(basename ${i})_${date_format}
    count=0
    while :; do
        if [ ! -f "${dist_file}" ]; then
            break
        fi
        dist_file=${dist_dir}/$(basename ${i})_${date_format}.${count}
        let count=count+1
    done
    mv $i ${dist_file}
done
eval $nginx_reopen

Linux Nginx日志切割脚本

标签:pen   class   usr   目录   版本   lan   bsp   日期格   切割   

原文地址:https://www.cnblogs.com/ServerChen/p/14922000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!