Nginx 日志按月分割

1.脚本 nginx_log.sh

#!/bin/bash
#nginx安装地址 
BASE_PATH=/usr/local/nginx

#日志文件名称
TARGET_LOG_FILENAME=access.log

#写出的文件夹地址
OUT_PATH=/usr/local/nginx/logs/backup_log

#当文件夹不存在就创建 
if [ ! -d "$OUT_PATH" ]; then
    mkdir $OUT_PATH
fi 

#根据日期来创建日志文件的名称,这个是按照月进行分割
NEW_LOG_FILENAME=$(/bin/date -d yesterday +%Y_%m) 

#这个是按照分钟 
#/bin/date -d yesterday +%Y%m%d%H%M

#2020_01_access.log 日志 
OUT_PATH_FILENAME=$NEW_LOG_FILENAME"_"$TARGET_LOG_FILENAME

#停止nginx 
$BASE_PATH/sbin/nginx -s stop

echo "创建日志文件" $NEW_LOG_FILENAME
echo $OUT_PATH/$OUT_PATH_FILENAME

#移动日志文件 
mv $BASE_PATH/logs/$TARGET_LOG_FILENAME $OUT_PATH/$OUT_PATH_FILENAME
touch $BASE_PATH/logs/$TARGET_LOG_FILENAME

#启动nginx日志
$BASE_PATH/sbin/nginx

 

2.任务计划 crontab -e

0 0 1 * * /bin/sh /usr/local/nginx/logs/nginx_log.sh > /dev/null 2>&1 &

posted @ 2020-01-05 16:49  风追海浪  阅读(698)  评论(0编辑  收藏  举报