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

发布时间 - 2026-01-11 02:47:56    点击率:

本文介绍了使用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日志切分  # Nginx切分  # shell脚本之nginx自动化脚本  # shell脚本定时统计Nginx下access.log的PV并发送给API保存到数据库  # Shell脚本批量清除Nginx缓存  # nginx日志切割shell脚本  # nginx常用命令放入shell脚本详解  # 切分  # 在此  # 给大家  # 几项  # 大家多多  # 按日  # POST  # IP  # http_referer  # http_user_agent  # http_x_forwarded_for  # user  # agent  # request  # body  # referer  # http  # body_bytes_sent  # pre 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么判断请求类型_Laravel Request isMethod用法  Android 常见的图片加载框架详细介绍  如何在万网ECS上快速搭建专属网站?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何挑选优质建站一级代理提升网站排名?  详解CentOS6.5 安装 MySQL5.1.71的方法  如何做网站制作流程,*游戏网站怎么搭建?  浅析上传头像示例及其注意事项  如何快速完成中国万网建站详细流程?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  android nfc常用标签读取总结  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Python数据仓库与ETL构建实战_Airflow调度流程详解  网站图片在线制作软件,怎么在图片上做链接?  如何注册花生壳免费域名并搭建个人网站?  Laravel如何使用模型观察者?(Observer代码示例)  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Laravel如何与Pusher实现实时通信?(WebSocket示例)  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  Laravel如何使用Sanctum进行API认证?(SPA实战)  如何用AWS免费套餐快速搭建高效网站?  如何快速生成橙子建站落地页链接?  Laravel如何创建自定义中间件?(Middleware代码示例)  用yum安装MySQLdb模块的步骤方法  动图在线制作网站有哪些,滑动动图图集怎么做?  如何在万网开始建站?分步指南解析  网站制作免费,什么网站能看正片电影?  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  详解Android——蓝牙技术 带你实现终端间数据传输  深圳网站制作的公司有哪些,dido官方网站?  如何用狗爹虚拟主机快速搭建网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何用花生壳三步快速搭建专属网站?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  javascript中的try catch异常捕获机制用法分析  EditPlus 正则表达式 实战(3)  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  音乐网站服务器如何优化API响应速度?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何快速查询网址的建站时间与历史轨迹?  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】