Nginx日志切分

nginx日志的分析非常重要,通常需要对nginx的日志进行切割和分析处理。比如可以实现一个定时任务,去处理nginx日志。
在nginx.conf下配置日志的位置

    server{
          listen 88;
          server_name bushro.com;
          access_log  /usr/local/nginx/logs/bushro.com.log  main;
          location /{
            root  html;
            index index.html;
          }
    }

正常日志是放到logs路径下,我们需要创建要给备份的日志目录

mkdir datalogs

备份日志脚本

#!/bin/sh

BASE_DIR=/usr/local/nginx
##日志名称
BASE_FILE_NAME=bushro.com.log
##日志产生位置
CURRENT_PATH=$BASE_DIR/logs
##日志备份位置
BAK_PATH=$BASE_DIR/datalogs

CURRENT_FILE=$CURRENT_PATH/$BASE_FILE_NAME
##日志按时间格式来命名
BAK_TIME=`/bin/date -d yesterday +%Y%m%d%H%M`
##日志的全路径+名称
BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME
echo $BAK_FILE
##停止nginx
$BASE_DIR/sbin/nginx -s stop
##把当前日志备份到datalogs目录下
mv $CURRENT_FILE $BAK_FILE
##启动nginx
$BASE_DIR/sbin/nginx

创建定时任务

crontab -e

每日凌晨0点执行一次

* 0 * * * sh /usr/local/nginx/sbin/log.sh

每分钟执行一次

*/1 * * * * sh /usr/local/nginx/sbin/log.sh

每分钟的效果
Nginx日志切分_第1张图片

你可能感兴趣的:(nginx)