www.xiahuhu.cn
关注网络安全

Nginx日志分割(shell脚本方式)

工作中 Nginx 日志基本为 access_log,配置启动后就开始产生日志文件,日积月累的,这个日志文件会越来越大。针对这种情况,采用日志切割。

1、日志管理

一般nginx的访问日志都是放在、logs/host.access.log下,并且使用main格式。
 

2、确保在http的配置里面有以下配置

(1)#开启记录日志

access_log logs/xiahuhu.cn.access.log main;
 

(2)#定义日志文件输出格式

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"';

3、编写shell脚本

#!/bin/sh
BASE_DIR=/xxx/xxx/nginx
BASE_FILE_NAME=xiahuhu.cn.access.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`
BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME
echo $BAK_FILE

$BASE_DIR/sbin/nginx -s stop

mv $CURRENT_FILE $BAK_FILE

$BASE_DIR/sbin/nginx

4、添加定时任务

0 0 * * * sh /xxx/xxx/nginx/sbin/log.sh #每天执行一次

5、查看生成日志

[root@iZbp1g39f3rcc5ik7ob4uyZ conf]# cd /xxx/xxx/nginx/datalogs/

[root@iZbp1g39f3rcc5ik7ob4uyZ datalogs]# ll

-rw-r--r-- 1 root root 12110 May 14 11:15 20190513-xiahuhu.cn.access.log
 

赞(0) 打赏
未经允许不得转载:花生米's Blog » Nginx日志分割(shell脚本方式)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏