跳至主要內容

nginx切割每日日志

Mr.Lexon小于 1 分钟environment

nginx切割每日日志

1、创建脚本/usr/local/webserver/nginx/sbin/cut_nginx_log.sh

vi /usr/local/webserver/nginx/sbin/cut_nginx_log.sh

输入以下内容:

#!/bin/bash
# This script run at 00:00
 
# The Nginx logs path
logs_path="/data1/logs/"
files=`ls ${logs_path}`
 
mkdir -p ${logs_path}$(date -d "-1 day" +"%Y")/$(date -d "-1 day" +"%m")/
 
for i in $files
do
    if [ -f ${logs_path}${i} ]
    then
        is=`echo $i | sed 's/\.log$//g'`
        mv ${logs_path}${i} ${logs_path}$(date -d "-1 day" +"%Y")/$(date -d "-1 day" +"%m")/${is}-$(date -d "-1 day" +"%Y%m%d").log
    fi
done
 
kill -USR1 `cat /usr/local/webserver/nginx/nginx.pid`

2、设置crontab,每天凌晨00:00切割nginx访问日志

chmod 755 /usr/local/webserver/nginx/sbin/cut_nginx_log.sh
crontab -e

输入以下内容:

00 00 * * * /bin/bash  /usr/local/webserver/nginx/sbin/cut_nginx_log.sh
上次编辑于:
贡献者: Lexon