主页 > 知识库 > 使用shell脚本对Nginx日志进行切分的示例代码

使用shell脚本对Nginx日志进行切分的示例代码

热门标签:铁路电话系统 网站排名优化 百度竞价排名 服务外包 Linux服务器 呼叫中心市场需求 AI电销 地方门户网站

本文介绍了使用shell脚本对Nginx日志进行切分的示例代码,分享给大家,具体如下:

1.日志格式

默认的日志格式: main

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

如默认的main日志格式,记录这么几项

远程IP- 远程用户/用户时间 请求方法(如GET/POST) 请求体body长度 referer来源信息

http-user-agent用户代理/蜘蛛 ,被转发的请求的原始IP

http_x_forwarded_for:在经过代理时,代理把你的本来IP加在此头信息中,传输你的原始IP

2.实现思路

shell+定时任务+nginx信号管理,完成日志按日期存储

#!/bin/bash
base_path='/usr/local/nginx/logs'
log_path=$(date -d yesterday +"%Y%m")
day=$(date -d yesterday +"%d")
mkdir -p $base_path/$log_path
mv $base_path/access.log $base_path/$log_path/access_$day.log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

3.定时任务

Crontab 编辑定时任务

01 00 * * * /xxx/path/b.sh  每天0时1分(建议在02-04点之间,系统负载小)、

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • shell脚本之nginx自动化脚本
  • shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库
  • Shell脚本批量清除Nginx缓存
  • nginx日志切割shell脚本
  • nginx常用命令放入shell脚本详解

标签:铜川 崇左 黄山 衡水 兰州 仙桃 湖南 湘潭

巨人网络通讯声明:本文标题《使用shell脚本对Nginx日志进行切分的示例代码》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266