使用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


相关推荐: JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  利用python获取某年中每个月的第一天和最后一天  JavaScript如何操作视频_媒体API怎么控制播放  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何快速搭建高效简练网站?  如何确认建站备案号应放置的具体位置?  Laravel如何使用Eloquent进行子查询  5种Android数据存储方式汇总  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel如何使用Sanctum进行API认证?(SPA实战)  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  北京网站制作公司哪家好一点,北京租房网站有哪些?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  如何基于云服务器快速搭建网站及云盘系统?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  如何在香港服务器上快速搭建免备案网站?  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  如何在 Pandas 中基于一列条件计算另一列的分组均值  js实现点击每个li节点,都弹出其文本值及修改  如何用PHP工具快速搭建高效网站?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel怎么在Blade中安全地输出原始HTML内容  Laravel如何处理异常和错误?(Handler示例)  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  如何快速生成专业多端适配建站电话?  北京专业网站制作设计师招聘,北京白云观官方网站?  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Laravel怎么连接多个数据库_Laravel多数据库连接配置  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Laravel如何自定义错误页面(404, 500)?(代码示例)  linux top下的 minerd 木马清除方法  Python并发异常传播_错误处理解析【教程】  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  活动邀请函制作网站有哪些,活动邀请函文案?  Python面向对象测试方法_mock解析【教程】  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  详解jQuery中的事件  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel API资源类怎么用_Laravel API Resource数据转换  JS去除重复并统计数量的实现方法  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Python制作简易注册登录系统